[WIP] add amplified piezo for the nano-hexapod
This commit is contained in:
parent
04c2ee06dc
commit
945741a795
@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2020-05-05 mar. 10:34 -->
|
||||
<!-- 2020-05-07 jeu. 14:05 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<title>Centrifugal Forces</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
@ -98,7 +97,7 @@ w_heavy = 2*pi/60; % rotational speed [rad/s]
|
||||
Finally, we consider a mass eccentricity of \(10\,mm\).
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">R = 0.1; % Excentricity [m]
|
||||
<pre class="src src-matlab">R = 0.01; % Excentricity [m]
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
@ -128,12 +127,12 @@ From the formula \(F_c = m \omega^2 r\), we obtain the values shown below.
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left">light</td>
|
||||
<td class="org-right">63.2</td>
|
||||
<td class="org-right">6.32</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">heavy</td>
|
||||
<td class="org-right">0.1</td>
|
||||
<td class="org-right">0.01</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -164,13 +163,13 @@ We plot the maximum rotation speed as a function of the mass for different maxim
|
||||
</p>
|
||||
|
||||
<p>
|
||||
From a specified maximum allowed centrifugal force (here set to \(100\,[N]\)), the maximum rotation speed as a function of the sample’s mass is shown in Figure <a href="#org6ee8f38">3</a>.
|
||||
From a specified maximum allowed centrifugal force (here set to \(10\,[N]\)), the maximum rotation speed as a function of the sample’s mass is shown in Figure <a href="#org6ee8f38">3</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">F_max = 100; % Maximum accepted centrifugal forces [N]
|
||||
<pre class="src src-matlab">F_max = 10; % Maximum accepted centrifugal forces [N]
|
||||
|
||||
R = 0.1;
|
||||
R = 0.01;
|
||||
|
||||
M_sample = 0:1:100;
|
||||
M_reflector = 15;
|
||||
@ -188,7 +187,7 @@ M_reflector = 15;
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-05-05 mar. 10:34</p>
|
||||
<p class="date">Created: 2020-05-07 jeu. 14:05</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 180 KiB After Width: | Height: | Size: 146 KiB |
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 150 KiB |
@ -1,10 +1,9 @@
|
||||
<?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-05-05 mar. 10:34 -->
|
||||
<!-- 2020-05-20 mer. 15:49 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<title>Control of the NASS with optimal stiffness</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
@ -42,7 +41,7 @@
|
||||
<li><a href="#orgfef1a3f">1.3. Controller Design</a></li>
|
||||
<li><a href="#org3c73014">1.4. Effect of the Low Authority Control on the Primary Plant</a></li>
|
||||
<li><a href="#orgee5dbee">1.5. Effect of the Low Authority Control on the Sensibility to Disturbances</a></li>
|
||||
<li><a href="#org8c0882d">1.6. Conclusion</a></li>
|
||||
<li><a href="#orgd9e52e3">1.6. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org81dc0a8">2. Primary Control in the leg space</a>
|
||||
@ -51,23 +50,23 @@
|
||||
<li><a href="#orgf39520c">2.2. Control in the leg space</a></li>
|
||||
<li><a href="#org16d192f">2.3. Sensibility to Disturbances and Noise Budget</a></li>
|
||||
<li><a href="#org8f34c09">2.4. Simulations of Tomography Experiment</a></li>
|
||||
<li><a href="#orgbeadec8">2.5. Results</a></li>
|
||||
<li><a href="#org66b4613">2.5. Results</a></li>
|
||||
<li><a href="#orgf709759">2.6. Actuator Stroke and Forces</a></li>
|
||||
<li><a href="#orgb0f5db9">2.7. Conclusion</a></li>
|
||||
<li><a href="#org3b6d331">2.7. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org56b28cd">3. Further More complex simulations</a>
|
||||
<ul>
|
||||
<li><a href="#org6c1ddb5">3.1. Simulation with Micro-Hexapod Offset</a>
|
||||
<ul>
|
||||
<li><a href="#org57e2cfd">3.1.1. Simulation</a></li>
|
||||
<li><a href="#org2c93370">3.1.2. Results</a></li>
|
||||
<li><a href="#orgcd1c705">3.1.1. Simulation</a></li>
|
||||
<li><a href="#org3387265">3.1.2. Results</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5cb899b">3.2. Simultaneous Translation scans and Spindle’s rotation</a>
|
||||
<ul>
|
||||
<li><a href="#org6710f28">3.2.1. Simulation</a></li>
|
||||
<li><a href="#org035df39">3.2.2. Results</a></li>
|
||||
<li><a href="#org48f5ed8">3.2.1. Simulation</a></li>
|
||||
<li><a href="#orgcc19864">3.2.2. Results</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -80,8 +79,8 @@
|
||||
<li><a href="#orgb28634b">4.2.1. Stability</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9ea6a0a">4.3. Simulation</a></li>
|
||||
<li><a href="#org21304f7">4.4. Conclusion</a></li>
|
||||
<li><a href="#org78cec1a">4.3. Simulation</a></li>
|
||||
<li><a href="#orgdc2eb5a">4.4. Conclusion</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -325,8 +324,8 @@ Decentralized Direct Velocity Feedback is shown to increase the effect of stages
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8c0882d" class="outline-3">
|
||||
<h3 id="org8c0882d"><span class="section-number-3">1.6</span> Conclusion</h3>
|
||||
<div id="outline-container-orgd9e52e3" class="outline-3">
|
||||
<h3 id="orgd9e52e3"><span class="section-number-3">1.6</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -513,8 +512,8 @@ And we run the simulation for all three payload Masses.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgbeadec8" class="outline-3">
|
||||
<h3 id="orgbeadec8"><span class="section-number-3">2.5</span> Results</h3>
|
||||
<div id="outline-container-org66b4613" class="outline-3">
|
||||
<h3 id="org66b4613"><span class="section-number-3">2.5</span> Results</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Let’s now see how this controller performs.
|
||||
@ -573,8 +572,8 @@ Finally, the time domain position error signals are shown in Figure <a href="#or
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb0f5db9" class="outline-3">
|
||||
<h3 id="orgb0f5db9"><span class="section-number-3">2.7</span> Conclusion</h3>
|
||||
<div id="outline-container-org3b6d331" class="outline-3">
|
||||
<h3 id="org3b6d331"><span class="section-number-3">2.7</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -594,8 +593,8 @@ Finally, the time domain position error signals are shown in Figure <a href="#or
|
||||
<h3 id="org6c1ddb5"><span class="section-number-3">3.1</span> Simulation with Micro-Hexapod Offset</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
</div>
|
||||
<div id="outline-container-org57e2cfd" class="outline-4">
|
||||
<h4 id="org57e2cfd"><span class="section-number-4">3.1.1</span> Simulation</h4>
|
||||
<div id="outline-container-orgcd1c705" class="outline-4">
|
||||
<h4 id="orgcd1c705"><span class="section-number-4">3.1.1</span> Simulation</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<p>
|
||||
The micro-hexapod is inducing a 10mm offset of the sample center of mass with the rotation axis.
|
||||
@ -623,8 +622,8 @@ sim('nass_model');
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c93370" class="outline-4">
|
||||
<h4 id="org2c93370"><span class="section-number-4">3.1.2</span> Results</h4>
|
||||
<div id="outline-container-org3387265" class="outline-4">
|
||||
<h4 id="org3387265"><span class="section-number-4">3.1.2</span> Results</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
|
||||
<div id="org6be7e46" class="figure">
|
||||
@ -651,15 +650,15 @@ sim('nass_model');
|
||||
<h3 id="org5cb899b"><span class="section-number-3">3.2</span> Simultaneous Translation scans and Spindle’s rotation</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
</div>
|
||||
<div id="outline-container-org6710f28" class="outline-4">
|
||||
<h4 id="org6710f28"><span class="section-number-4">3.2.1</span> Simulation</h4>
|
||||
<div id="outline-container-org48f5ed8" class="outline-4">
|
||||
<h4 id="org48f5ed8"><span class="section-number-4">3.2.1</span> Simulation</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<p>
|
||||
A simulation is now performed with translation scans and spindle rotation at the same time.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The sample has a mass one 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.
|
||||
The sample has a mass of 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -675,8 +674,8 @@ initializeReferences('Rz_type', 'rotating', 'Rz_period', 1, ...
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org035df39" class="outline-4">
|
||||
<h4 id="org035df39"><span class="section-number-4">3.2.2</span> Results</h4>
|
||||
<div id="outline-container-orgcc19864" class="outline-4">
|
||||
<h4 id="orgcc19864"><span class="section-number-4">3.2.2</span> Results</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
|
||||
<div id="orgbfa1d02" class="figure">
|
||||
@ -779,11 +778,11 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9ea6a0a" class="outline-3">
|
||||
<h3 id="org9ea6a0a"><span class="section-number-3">4.3</span> Simulation</h3>
|
||||
<div id="outline-container-org78cec1a" class="outline-3">
|
||||
<h3 id="org78cec1a"><span class="section-number-3">4.3</span> Simulation</h3>
|
||||
</div>
|
||||
<div id="outline-container-org21304f7" class="outline-3">
|
||||
<h3 id="org21304f7"><span class="section-number-3">4.4</span> Conclusion</h3>
|
||||
<div id="outline-container-orgdc2eb5a" class="outline-3">
|
||||
<h3 id="orgdc2eb5a"><span class="section-number-3">4.4</span> Conclusion</h3>
|
||||
<div class="outline-text-3" id="text-4-4">
|
||||
<div class="important">
|
||||
<p>
|
||||
@ -797,7 +796,7 @@ end
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-05-05 mar. 10:34</p>
|
||||
<p class="date">Created: 2020-05-20 mer. 15:49</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,10 +1,9 @@
|
||||
<?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-05-05 mar. 10:34 -->
|
||||
<!-- 2020-05-20 mer. 15:49 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<title>Stewart Platform - Simscape Model</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
@ -37,85 +36,85 @@
|
||||
<ul>
|
||||
<li><a href="#orgcaca5e0">1. <code>initializeStewartPlatform</code>: Initialize the Stewart Platform structure</a>
|
||||
<ul>
|
||||
<li><a href="#orgc11609b">Documentation</a></li>
|
||||
<li><a href="#org37e6edf">Function description</a></li>
|
||||
<li><a href="#org5817617">Documentation</a></li>
|
||||
<li><a href="#org7d81110">Function description</a></li>
|
||||
<li><a href="#org3622825">Initialize the Stewart structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgac25f89">2. <code>initializeFramesPositions</code>: Initialize the positions of frames {A}, {B}, {F} and {M}</a>
|
||||
<ul>
|
||||
<li><a href="#org2011b55">Documentation</a></li>
|
||||
<li><a href="#org40fe9e8">Function description</a></li>
|
||||
<li><a href="#org6441308">Optional Parameters</a></li>
|
||||
<li><a href="#org60fadfe">Documentation</a></li>
|
||||
<li><a href="#org3f0f259">Function description</a></li>
|
||||
<li><a href="#orgada2d6f">Optional Parameters</a></li>
|
||||
<li><a href="#org7d50d54">Compute the position of each frame</a></li>
|
||||
<li><a href="#orgf6ce3ee">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#orgd7c92be">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgccb31c6">3. <code>generateGeneralConfiguration</code>: Generate a Very General Configuration</a>
|
||||
<ul>
|
||||
<li><a href="#org0759816">Documentation</a></li>
|
||||
<li><a href="#orgaac37b6">Function description</a></li>
|
||||
<li><a href="#org2af2f34">Optional Parameters</a></li>
|
||||
<li><a href="#orgfac23f3">Compute the pose</a></li>
|
||||
<li><a href="#org69f4916">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#org722f89f">Documentation</a></li>
|
||||
<li><a href="#org37642a9">Function description</a></li>
|
||||
<li><a href="#org8175ecb">Optional Parameters</a></li>
|
||||
<li><a href="#orgc9244b9">Compute the pose</a></li>
|
||||
<li><a href="#org010e928">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9944c04">4. <code>computeJointsPose</code>: Compute the Pose of the Joints</a>
|
||||
<ul>
|
||||
<li><a href="#org2d1a6c0">Documentation</a></li>
|
||||
<li><a href="#org50f74a1">Function description</a></li>
|
||||
<li><a href="#orgf462a70">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#org1084538">Documentation</a></li>
|
||||
<li><a href="#org1da2a38">Function description</a></li>
|
||||
<li><a href="#org02f1320">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#orge87b302">Compute the position of the Joints</a></li>
|
||||
<li><a href="#org3a7e3c5">Compute the strut length and orientation</a></li>
|
||||
<li><a href="#org9e1258f">Compute the orientation of the Joints</a></li>
|
||||
<li><a href="#org2c160bb">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#orgab9893e">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1315282">5. <code>initializeStewartPose</code>: Determine the initial stroke in each leg to have the wanted pose</a>
|
||||
<ul>
|
||||
<li><a href="#org1e2fafd">Function description</a></li>
|
||||
<li><a href="#org034bf20">Optional Parameters</a></li>
|
||||
<li><a href="#org3df7fa5">Function description</a></li>
|
||||
<li><a href="#org7ad7e23">Optional Parameters</a></li>
|
||||
<li><a href="#orgbb9abb5">Use the Inverse Kinematic function</a></li>
|
||||
<li><a href="#orgf124a3e">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#org8f6d297">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4674203">6. <code>initializeCylindricalPlatforms</code>: Initialize the geometry of the Fixed and Mobile Platforms</a>
|
||||
<ul>
|
||||
<li><a href="#org84a14a5">Function description</a></li>
|
||||
<li><a href="#orge580054">Optional Parameters</a></li>
|
||||
<li><a href="#org600d8b6">Function description</a></li>
|
||||
<li><a href="#org7126edc">Optional Parameters</a></li>
|
||||
<li><a href="#orgf654de0">Compute the Inertia matrices of platforms</a></li>
|
||||
<li><a href="#orge34849b">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#org1282acb">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb0a1d7b">7. <code>initializeCylindricalStruts</code>: Define the inertia of cylindrical struts</a>
|
||||
<ul>
|
||||
<li><a href="#org27c9756">Function description</a></li>
|
||||
<li><a href="#org060b144">Optional Parameters</a></li>
|
||||
<li><a href="#org415806e">Function description</a></li>
|
||||
<li><a href="#org46ba207">Optional Parameters</a></li>
|
||||
<li><a href="#orgd943059">Compute the properties of the cylindrical struts</a></li>
|
||||
<li><a href="#org5d7924e">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#orgec9a313">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgae8d0dc">8. <code>initializeStrutDynamics</code>: Add Stiffness and Damping properties of each strut</a>
|
||||
<ul>
|
||||
<li><a href="#org70888ee">Documentation</a></li>
|
||||
<li><a href="#org2fd9286">Function description</a></li>
|
||||
<li><a href="#orgebba910">Optional Parameters</a></li>
|
||||
<li><a href="#org1e0bcd1">Documentation</a></li>
|
||||
<li><a href="#org70074aa">Function description</a></li>
|
||||
<li><a href="#orgc77ced4">Optional Parameters</a></li>
|
||||
<li><a href="#org3c2e550">Add Stiffness and Damping properties of each strut</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org682a09c">9. <code>initializeAmplifiedStrutDynamics</code>: Add Stiffness and Damping properties of each strut for an amplified piezoelectric actuator</a>
|
||||
<ul>
|
||||
<li><a href="#org70c61fd">Documentation</a></li>
|
||||
<li><a href="#org4b8bd84">Function description</a></li>
|
||||
<li><a href="#org94cace2">Optional Parameters</a></li>
|
||||
<li><a href="#orgb4491ea">Documentation</a></li>
|
||||
<li><a href="#org32024c4">Function description</a></li>
|
||||
<li><a href="#orgb9c096a">Optional Parameters</a></li>
|
||||
<li><a href="#org2e42182">Compute the total stiffness and damping</a></li>
|
||||
<li><a href="#orgee22bea">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#orgd8d2d38">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbc5232e">10. <code>initializeJointDynamics</code>: Add Stiffness and Damping properties for spherical joints</a>
|
||||
<ul>
|
||||
<li><a href="#orgc806fca">Function description</a></li>
|
||||
<li><a href="#org4403345">Optional Parameters</a></li>
|
||||
<li><a href="#org9987af0">Function description</a></li>
|
||||
<li><a href="#orgfa09700">Optional Parameters</a></li>
|
||||
<li><a href="#orgd5b8278">Add Actuator Type</a></li>
|
||||
<li><a href="#org51cf135">Add Stiffness and Damping in Translation of each strut</a></li>
|
||||
<li><a href="#org1e8eceb">Add Stiffness and Damping in Rotation of each strut</a></li>
|
||||
@ -125,17 +124,17 @@
|
||||
<ul>
|
||||
<li><a href="#orgcfc37af">Geophone - Working Principle</a></li>
|
||||
<li><a href="#org986e38f">Accelerometer - Working Principle</a></li>
|
||||
<li><a href="#orgdf893fa">Function description</a></li>
|
||||
<li><a href="#org1a86834">Optional Parameters</a></li>
|
||||
<li><a href="#orgf891c99">Function description</a></li>
|
||||
<li><a href="#org3120ee8">Optional Parameters</a></li>
|
||||
<li><a href="#org1c3d7c8">Compute the properties of the sensor</a></li>
|
||||
<li><a href="#org5ee57cc">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#org81ff88b">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd6baa46">12. <code>displayArchitecture</code>: 3D plot of the Stewart platform architecture</a>
|
||||
<ul>
|
||||
<li><a href="#org763a2e4">Function description</a></li>
|
||||
<li><a href="#orgfefbc0b">Optional Parameters</a></li>
|
||||
<li><a href="#org49ecb6b">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#org84f3d13">Function description</a></li>
|
||||
<li><a href="#org74d4ce4">Optional Parameters</a></li>
|
||||
<li><a href="#org3b35a3d">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#orgb11fd92">Figure Creation, Frames and Homogeneous transformations</a></li>
|
||||
<li><a href="#org7cd8fee">Fixed Base elements</a></li>
|
||||
<li><a href="#orgacb8eb7">Mobile Platform elements</a></li>
|
||||
@ -146,8 +145,8 @@
|
||||
</li>
|
||||
<li><a href="#orgecfd55f">13. <code>describeStewartPlatform</code>: Display some text describing the current defined Stewart Platform</a>
|
||||
<ul>
|
||||
<li><a href="#orgea76862">Function description</a></li>
|
||||
<li><a href="#org8ead6fb">Optional Parameters</a></li>
|
||||
<li><a href="#org6e4f9f6">Function description</a></li>
|
||||
<li><a href="#org1dcd763">Optional Parameters</a></li>
|
||||
<li><a href="#org1d49caa">13.1. Geometry</a></li>
|
||||
<li><a href="#orgcb66771">13.2. Actuators</a></li>
|
||||
<li><a href="#org4630b77">13.3. Joints</a></li>
|
||||
@ -156,39 +155,39 @@
|
||||
</li>
|
||||
<li><a href="#org65fc289">14. <code>generateCubicConfiguration</code>: Generate a Cubic Configuration</a>
|
||||
<ul>
|
||||
<li><a href="#org458448a">Function description</a></li>
|
||||
<li><a href="#org5817617">Documentation</a></li>
|
||||
<li><a href="#org56ed950">Optional Parameters</a></li>
|
||||
<li><a href="#org341a5bd">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#org56bb069">Function description</a></li>
|
||||
<li><a href="#org8dc2620">Documentation</a></li>
|
||||
<li><a href="#org9269fce">Optional Parameters</a></li>
|
||||
<li><a href="#org90eac03">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#orge94a885">Position of the Cube</a></li>
|
||||
<li><a href="#orgc9244b9">Compute the pose</a></li>
|
||||
<li><a href="#org503addd">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#org3231a85">Compute the pose</a></li>
|
||||
<li><a href="#orgb046d7e">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9e8cbfa">15. <code>computeJacobian</code>: Compute the Jacobian Matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orga999616">Function description</a></li>
|
||||
<li><a href="#orgac50fa7">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#org9b984be">Function description</a></li>
|
||||
<li><a href="#orga0158ff">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#org9bcd9b9">Compute Jacobian Matrix</a></li>
|
||||
<li><a href="#orgf08eda6">Compute Stiffness Matrix</a></li>
|
||||
<li><a href="#orgd164132">Compute Compliance Matrix</a></li>
|
||||
<li><a href="#orgd7c92be">Populate the <code>stewart</code> structure</a></li>
|
||||
<li><a href="#orgecc27b3">Populate the <code>stewart</code> structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org03168fc">16. <code>inverseKinematics</code>: Compute Inverse Kinematics</a>
|
||||
<ul>
|
||||
<li><a href="#orgbdc5fb1">Theory</a></li>
|
||||
<li><a href="#orgd247ad5">Function description</a></li>
|
||||
<li><a href="#org3259665">Optional Parameters</a></li>
|
||||
<li><a href="#org4ca8cd1">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#org988305f">Function description</a></li>
|
||||
<li><a href="#org954d921">Optional Parameters</a></li>
|
||||
<li><a href="#org2e35685">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#org8b70a76">Compute</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org278d55b">17. <code>forwardKinematicsApprox</code>: Compute the Approximate Forward Kinematics</a>
|
||||
<ul>
|
||||
<li><a href="#org7d81110">Function description</a></li>
|
||||
<li><a href="#orgada2d6f">Optional Parameters</a></li>
|
||||
<li><a href="#org02f1320">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#orgb2b186c">Function description</a></li>
|
||||
<li><a href="#org8e4bfab">Optional Parameters</a></li>
|
||||
<li><a href="#org87cdb4a">Check the <code>stewart</code> structure elements</a></li>
|
||||
<li><a href="#orgf17cab9">Computation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@ -274,11 +273,11 @@ This Matlab function is accessible <a href="../src/initializeStewartPlatform.m">
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc11609b" class="outline-3">
|
||||
<h3 id="orgc11609b">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-orgc11609b">
|
||||
<div id="outline-container-org5817617" class="outline-3">
|
||||
<h3 id="org5817617">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org5817617">
|
||||
|
||||
<div id="orgebd0f49" class="figure">
|
||||
<div id="orgb66cd49" class="figure">
|
||||
<p><img src="figs/stewart-frames-position.png" alt="stewart-frames-position.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>Definition of the position of the frames</p>
|
||||
@ -286,9 +285,9 @@ This Matlab function is accessible <a href="../src/initializeStewartPlatform.m">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org37e6edf" class="outline-3">
|
||||
<h3 id="org37e6edf">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org37e6edf">
|
||||
<div id="outline-container-org7d81110" class="outline-3">
|
||||
<h3 id="org7d81110">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org7d81110">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeStewartPlatform()
|
||||
% initializeStewartPlatform - Initialize the stewart structure
|
||||
@ -347,11 +346,11 @@ This Matlab function is accessible <a href="../src/initializeFramesPositions.m">
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2011b55" class="outline-3">
|
||||
<h3 id="org2011b55">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org2011b55">
|
||||
<div id="outline-container-org60fadfe" class="outline-3">
|
||||
<h3 id="org60fadfe">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org60fadfe">
|
||||
|
||||
<div id="orgb66cd49" class="figure">
|
||||
<div id="org321fc67" class="figure">
|
||||
<p><img src="figs/stewart-frames-position.png" alt="stewart-frames-position.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 2: </span>Definition of the position of the frames</p>
|
||||
@ -359,9 +358,9 @@ This Matlab function is accessible <a href="../src/initializeFramesPositions.m">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org40fe9e8" class="outline-3">
|
||||
<h3 id="org40fe9e8">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org40fe9e8">
|
||||
<div id="outline-container-org3f0f259" class="outline-3">
|
||||
<h3 id="org3f0f259">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org3f0f259">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeFramesPositions(stewart, args)
|
||||
% initializeFramesPositions - Initialize the positions of frames {A}, {B}, {F} and {M}
|
||||
@ -384,9 +383,9 @@ This Matlab function is accessible <a href="../src/initializeFramesPositions.m">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6441308" class="outline-3">
|
||||
<h3 id="org6441308">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org6441308">
|
||||
<div id="outline-container-orgada2d6f" class="outline-3">
|
||||
<h3 id="orgada2d6f">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-orgada2d6f">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -414,9 +413,9 @@ FO_A = MO_B + FO_M; % Position of {A} with respect to {F} [m]
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf6ce3ee" class="outline-3">
|
||||
<h3 id="orgf6ce3ee">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgf6ce3ee">
|
||||
<div id="outline-container-orgd7c92be" class="outline-3">
|
||||
<h3 id="orgd7c92be">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgd7c92be">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.geometry.H = H;
|
||||
stewart.geometry.FO_M = FO_M;
|
||||
@ -440,9 +439,9 @@ This Matlab function is accessible <a href="../src/generateGeneralConfiguration.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0759816" class="outline-3">
|
||||
<h3 id="org0759816">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org0759816">
|
||||
<div id="outline-container-org722f89f" class="outline-3">
|
||||
<h3 id="org722f89f">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org722f89f">
|
||||
<p>
|
||||
Joints are positions on a circle centered with the Z axis of {F} and {M} and at a chosen distance from {F} and {M}.
|
||||
The radius of the circles can be chosen as well as the angles where the joints are located (see Figure <a href="#org449c886">3</a>).
|
||||
@ -457,9 +456,9 @@ The radius of the circles can be chosen as well as the angles where the joints a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaac37b6" class="outline-3">
|
||||
<h3 id="orgaac37b6">Function description</h3>
|
||||
<div class="outline-text-3" id="text-orgaac37b6">
|
||||
<div id="outline-container-org37642a9" class="outline-3">
|
||||
<h3 id="org37642a9">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org37642a9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = generateGeneralConfiguration(stewart, args)
|
||||
% generateGeneralConfiguration - Generate a Very General Configuration
|
||||
@ -484,9 +483,9 @@ The radius of the circles can be chosen as well as the angles where the joints a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2af2f34" class="outline-3">
|
||||
<h3 id="org2af2f34">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org2af2f34">
|
||||
<div id="outline-container-org8175ecb" class="outline-3">
|
||||
<h3 id="org8175ecb">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org8175ecb">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -502,9 +501,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfac23f3" class="outline-3">
|
||||
<h3 id="orgfac23f3">Compute the pose</h3>
|
||||
<div class="outline-text-3" id="text-orgfac23f3">
|
||||
<div id="outline-container-orgc9244b9" class="outline-3">
|
||||
<h3 id="orgc9244b9">Compute the pose</h3>
|
||||
<div class="outline-text-3" id="text-orgc9244b9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">Fa = zeros(3,6);
|
||||
Mb = zeros(3,6);
|
||||
@ -521,9 +520,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org69f4916" class="outline-3">
|
||||
<h3 id="org69f4916">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org69f4916">
|
||||
<div id="outline-container-org010e928" class="outline-3">
|
||||
<h3 id="org010e928">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org010e928">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.platform_F.Fa = Fa;
|
||||
stewart.platform_M.Mb = Mb;
|
||||
@ -545,9 +544,9 @@ This Matlab function is accessible <a href="../src/computeJointsPose.m">here</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d1a6c0" class="outline-3">
|
||||
<h3 id="org2d1a6c0">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org2d1a6c0">
|
||||
<div id="outline-container-org1084538" class="outline-3">
|
||||
<h3 id="org1084538">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org1084538">
|
||||
|
||||
<div id="org20f7106" class="figure">
|
||||
<p><img src="figs/stewart-struts.png" alt="stewart-struts.png" />
|
||||
@ -557,9 +556,9 @@ This Matlab function is accessible <a href="../src/computeJointsPose.m">here</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org50f74a1" class="outline-3">
|
||||
<h3 id="org50f74a1">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org50f74a1">
|
||||
<div id="outline-container-org1da2a38" class="outline-3">
|
||||
<h3 id="org1da2a38">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org1da2a38">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = computeJointsPose(stewart)
|
||||
% computeJointsPose -
|
||||
@ -592,9 +591,9 @@ This Matlab function is accessible <a href="../src/computeJointsPose.m">here</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf462a70" class="outline-3">
|
||||
<h3 id="orgf462a70">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-orgf462a70">
|
||||
<div id="outline-container-org02f1320" class="outline-3">
|
||||
<h3 id="org02f1320">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org02f1320">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">assert(isfield(stewart.platform_F, 'Fa'), 'stewart.platform_F should have attribute Fa')
|
||||
Fa = stewart.platform_F.Fa;
|
||||
@ -665,9 +664,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c160bb" class="outline-3">
|
||||
<h3 id="org2c160bb">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org2c160bb">
|
||||
<div id="outline-container-orgab9893e" class="outline-3">
|
||||
<h3 id="orgab9893e">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgab9893e">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.geometry.Aa = Aa;
|
||||
stewart.geometry.Ab = Ab;
|
||||
@ -700,9 +699,9 @@ This Matlab function is accessible <a href="../src/initializeStewartPose.m">here
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e2fafd" class="outline-3">
|
||||
<h3 id="org1e2fafd">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org1e2fafd">
|
||||
<div id="outline-container-org3df7fa5" class="outline-3">
|
||||
<h3 id="org3df7fa5">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org3df7fa5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeStewartPose(stewart, args)
|
||||
% initializeStewartPose - Determine the initial stroke in each leg to have the wanted pose
|
||||
@ -726,9 +725,9 @@ This Matlab function is accessible <a href="../src/initializeStewartPose.m">here
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org034bf20" class="outline-3">
|
||||
<h3 id="org034bf20">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org034bf20">
|
||||
<div id="outline-container-org7ad7e23" class="outline-3">
|
||||
<h3 id="org7ad7e23">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org7ad7e23">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -750,9 +749,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf124a3e" class="outline-3">
|
||||
<h3 id="orgf124a3e">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgf124a3e">
|
||||
<div id="outline-container-org8f6d297" class="outline-3">
|
||||
<h3 id="org8f6d297">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org8f6d297">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.actuators.Leq = dLi;
|
||||
</pre>
|
||||
@ -773,9 +772,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalPlatform
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org84a14a5" class="outline-3">
|
||||
<h3 id="org84a14a5">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org84a14a5">
|
||||
<div id="outline-container-org600d8b6" class="outline-3">
|
||||
<h3 id="org600d8b6">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org600d8b6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeCylindricalPlatforms(stewart, args)
|
||||
% initializeCylindricalPlatforms - Initialize the geometry of the Fixed and Mobile Platforms
|
||||
@ -809,9 +808,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalPlatform
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge580054" class="outline-3">
|
||||
<h3 id="orge580054">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-orge580054">
|
||||
<div id="outline-container-org7126edc" class="outline-3">
|
||||
<h3 id="org7126edc">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org7126edc">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -846,9 +845,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge34849b" class="outline-3">
|
||||
<h3 id="orge34849b">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orge34849b">
|
||||
<div id="outline-container-org1282acb" class="outline-3">
|
||||
<h3 id="org1282acb">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org1282acb">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.platform_F.type = 1;
|
||||
|
||||
@ -884,9 +883,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalStruts.m
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27c9756" class="outline-3">
|
||||
<h3 id="org27c9756">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org27c9756">
|
||||
<div id="outline-container-org415806e" class="outline-3">
|
||||
<h3 id="org415806e">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org415806e">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeCylindricalStruts(stewart, args)
|
||||
% initializeCylindricalStruts - Define the mass and moment of inertia of cylindrical struts
|
||||
@ -919,9 +918,9 @@ This Matlab function is accessible <a href="../src/initializeCylindricalStruts.m
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org060b144" class="outline-3">
|
||||
<h3 id="org060b144">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org060b144">
|
||||
<div id="outline-container-org46ba207" class="outline-3">
|
||||
<h3 id="org46ba207">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org46ba207">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -969,9 +968,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5d7924e" class="outline-3">
|
||||
<h3 id="org5d7924e">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org5d7924e">
|
||||
<div id="outline-container-orgec9a313" class="outline-3">
|
||||
<h3 id="orgec9a313">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgec9a313">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.struts_M.type = 1;
|
||||
|
||||
@ -1007,9 +1006,9 @@ This Matlab function is accessible <a href="../src/initializeStrutDynamics.m">he
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org70888ee" class="outline-3">
|
||||
<h3 id="org70888ee">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org70888ee">
|
||||
<div id="outline-container-org1e0bcd1" class="outline-3">
|
||||
<h3 id="org1e0bcd1">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org1e0bcd1">
|
||||
|
||||
<div id="org99aef3e" class="figure">
|
||||
<p><img src="figs/piezoelectric_stack.jpg" alt="piezoelectric_stack.jpg" width="500px" />
|
||||
@ -1038,9 +1037,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#orgd4
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2fd9286" class="outline-3">
|
||||
<h3 id="org2fd9286">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org2fd9286">
|
||||
<div id="outline-container-org70074aa" class="outline-3">
|
||||
<h3 id="org70074aa">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org70074aa">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeStrutDynamics(stewart, args)
|
||||
% initializeStrutDynamics - Add Stiffness and Damping properties of each strut
|
||||
@ -1062,9 +1061,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#orgd4
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgebba910" class="outline-3">
|
||||
<h3 id="orgebba910">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-orgebba910">
|
||||
<div id="outline-container-orgc77ced4" class="outline-3">
|
||||
<h3 id="orgc77ced4">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-orgc77ced4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -1102,9 +1101,9 @@ This Matlab function is accessible <a href="../src/initializeAmplifiedStrutDynam
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org70c61fd" class="outline-3">
|
||||
<h3 id="org70c61fd">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org70c61fd">
|
||||
<div id="outline-container-orgb4491ea" class="outline-3">
|
||||
<h3 id="orgb4491ea">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-orgb4491ea">
|
||||
<p>
|
||||
An amplified piezoelectric actuator is shown in Figure <a href="#orgab58ac0">7</a>.
|
||||
</p>
|
||||
@ -1137,9 +1136,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#org7a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4b8bd84" class="outline-3">
|
||||
<h3 id="org4b8bd84">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org4b8bd84">
|
||||
<div id="outline-container-org32024c4" class="outline-3">
|
||||
<h3 id="org32024c4">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org32024c4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeAmplifiedStrutDynamics(stewart, args)
|
||||
% initializeAmplifiedStrutDynamics - Add Stiffness and Damping properties of each strut
|
||||
@ -1167,9 +1166,9 @@ A simplistic model of such amplified actuator is shown in Figure <a href="#org7a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94cace2" class="outline-3">
|
||||
<h3 id="org94cace2">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org94cace2">
|
||||
<div id="outline-container-orgb9c096a" class="outline-3">
|
||||
<h3 id="orgb9c096a">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-orgb9c096a">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -1194,9 +1193,9 @@ C = args.Ca + args.Cr;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgee22bea" class="outline-3">
|
||||
<h3 id="orgee22bea">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgee22bea">
|
||||
<div id="outline-container-orgd8d2d38" class="outline-3">
|
||||
<h3 id="orgd8d2d38">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgd8d2d38">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.actuators.type = 2;
|
||||
|
||||
@ -1226,9 +1225,9 @@ This Matlab function is accessible <a href="../src/initializeJointDynamics.m">he
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc806fca" class="outline-3">
|
||||
<h3 id="orgc806fca">Function description</h3>
|
||||
<div class="outline-text-3" id="text-orgc806fca">
|
||||
<div id="outline-container-org9987af0" class="outline-3">
|
||||
<h3 id="org9987af0">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org9987af0">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeJointDynamics(stewart, args)
|
||||
% initializeJointDynamics - Add Stiffness and Damping properties for the spherical joints
|
||||
@ -1267,9 +1266,9 @@ This Matlab function is accessible <a href="../src/initializeJointDynamics.m">he
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4403345" class="outline-3">
|
||||
<h3 id="org4403345">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org4403345">
|
||||
<div id="outline-container-orgfa09700" class="outline-3">
|
||||
<h3 id="orgfa09700">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-orgfa09700">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -1477,9 +1476,9 @@ Note that there is trade-off between:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf893fa" class="outline-3">
|
||||
<h3 id="orgdf893fa">Function description</h3>
|
||||
<div class="outline-text-3" id="text-orgdf893fa">
|
||||
<div id="outline-container-orgf891c99" class="outline-3">
|
||||
<h3 id="orgf891c99">Function description</h3>
|
||||
<div class="outline-text-3" id="text-orgf891c99">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = initializeInertialSensor(stewart, args)
|
||||
% initializeInertialSensor - Initialize the inertial sensor in each strut
|
||||
@ -1505,9 +1504,9 @@ Note that there is trade-off between:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1a86834" class="outline-3">
|
||||
<h3 id="org1a86834">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org1a86834">
|
||||
<div id="outline-container-org3120ee8" class="outline-3">
|
||||
<h3 id="org3120ee8">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org3120ee8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -1548,9 +1547,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ee57cc" class="outline-3">
|
||||
<h3 id="org5ee57cc">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org5ee57cc">
|
||||
<div id="outline-container-org81ff88b" class="outline-3">
|
||||
<h3 id="org81ff88b">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org81ff88b">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.sensors.inertial = sensor;
|
||||
</pre>
|
||||
@ -1571,9 +1570,9 @@ This Matlab function is accessible <a href="../src/displayArchitecture.m">here</
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org763a2e4" class="outline-3">
|
||||
<h3 id="org763a2e4">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org763a2e4">
|
||||
<div id="outline-container-org84f3d13" class="outline-3">
|
||||
<h3 id="org84f3d13">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org84f3d13">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [] = displayArchitecture(stewart, args)
|
||||
% displayArchitecture - 3D plot of the Stewart platform architecture
|
||||
@ -1602,9 +1601,9 @@ This Matlab function is accessible <a href="../src/displayArchitecture.m">here</
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfefbc0b" class="outline-3">
|
||||
<h3 id="orgfefbc0b">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-orgfefbc0b">
|
||||
<div id="outline-container-org74d4ce4" class="outline-3">
|
||||
<h3 id="org74d4ce4">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org74d4ce4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -1625,9 +1624,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49ecb6b" class="outline-3">
|
||||
<h3 id="org49ecb6b">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org49ecb6b">
|
||||
<div id="outline-container-org3b35a3d" class="outline-3">
|
||||
<h3 id="org3b35a3d">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org3b35a3d">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">assert(isfield(stewart.platform_F, 'FO_A'), 'stewart.platform_F should have attribute FO_A')
|
||||
FO_A = stewart.platform_F.FO_A;
|
||||
@ -1965,9 +1964,9 @@ This Matlab function is accessible <a href="../src/describeStewartPlatform.m">he
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgea76862" class="outline-3">
|
||||
<h3 id="orgea76862">Function description</h3>
|
||||
<div class="outline-text-3" id="text-orgea76862">
|
||||
<div id="outline-container-org6e4f9f6" class="outline-3">
|
||||
<h3 id="org6e4f9f6">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org6e4f9f6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [] = describeStewartPlatform(stewart)
|
||||
% describeStewartPlatform - Display some text describing the current defined Stewart Platform
|
||||
@ -1983,9 +1982,9 @@ This Matlab function is accessible <a href="../src/describeStewartPlatform.m">he
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8ead6fb" class="outline-3">
|
||||
<h3 id="org8ead6fb">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org8ead6fb">
|
||||
<div id="outline-container-org1dcd763" class="outline-3">
|
||||
<h3 id="org1dcd763">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org1dcd763">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -2134,9 +2133,9 @@ This Matlab function is accessible <a href="../src/generateCubicConfiguration.m"
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org458448a" class="outline-3">
|
||||
<h3 id="org458448a">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org458448a">
|
||||
<div id="outline-container-org56bb069" class="outline-3">
|
||||
<h3 id="org56bb069">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org56bb069">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = generateCubicConfiguration(stewart, args)
|
||||
% generateCubicConfiguration - Generate a Cubic Configuration
|
||||
@ -2161,9 +2160,9 @@ This Matlab function is accessible <a href="../src/generateCubicConfiguration.m"
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5817617" class="outline-3">
|
||||
<h3 id="org5817617">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org5817617">
|
||||
<div id="outline-container-org8dc2620" class="outline-3">
|
||||
<h3 id="org8dc2620">Documentation</h3>
|
||||
<div class="outline-text-3" id="text-org8dc2620">
|
||||
|
||||
<div id="org70070f0" class="figure">
|
||||
<p><img src="figs/cubic-configuration-definition.png" alt="cubic-configuration-definition.png" />
|
||||
@ -2173,9 +2172,9 @@ This Matlab function is accessible <a href="../src/generateCubicConfiguration.m"
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56ed950" class="outline-3">
|
||||
<h3 id="org56ed950">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org56ed950">
|
||||
<div id="outline-container-org9269fce" class="outline-3">
|
||||
<h3 id="org9269fce">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org9269fce">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -2189,9 +2188,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org341a5bd" class="outline-3">
|
||||
<h3 id="org341a5bd">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org341a5bd">
|
||||
<div id="outline-container-org90eac03" class="outline-3">
|
||||
<h3 id="org90eac03">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org90eac03">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">assert(isfield(stewart.geometry, 'H'), 'stewart.geometry should have attribute H')
|
||||
H = stewart.geometry.H;
|
||||
@ -2226,9 +2225,9 @@ CCm = [Cc(:,2), Cc(:,2), Cc(:,4), Cc(:,4), Cc(:,6), Cc(:,6)]; % CCm(:,i) corresp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc9244b9" class="outline-3">
|
||||
<h3 id="orgc9244b9">Compute the pose</h3>
|
||||
<div class="outline-text-3" id="text-orgc9244b9">
|
||||
<div id="outline-container-org3231a85" class="outline-3">
|
||||
<h3 id="org3231a85">Compute the pose</h3>
|
||||
<div class="outline-text-3" id="text-org3231a85">
|
||||
<p>
|
||||
We can compute the vector of each leg \({}^{C}\hat{\bm{s}}_{i}\) (unit vector from \({}^{C}C_{f}\) to \({}^{C}C_{m}\)).
|
||||
</p>
|
||||
@ -2248,9 +2247,9 @@ Mb = CCf + [0; 0; args.FOc-H] + ((H-args.MHb-(args.FOc-args.Hc/2))./CSi(3,:)).*C
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org503addd" class="outline-3">
|
||||
<h3 id="org503addd">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-org503addd">
|
||||
<div id="outline-container-orgb046d7e" class="outline-3">
|
||||
<h3 id="orgb046d7e">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgb046d7e">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.platform_F.Fa = Fa;
|
||||
stewart.platform_M.Mb = Mb;
|
||||
@ -2272,9 +2271,9 @@ This Matlab function is accessible <a href="../src/computeJacobian.m">here</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga999616" class="outline-3">
|
||||
<h3 id="orga999616">Function description</h3>
|
||||
<div class="outline-text-3" id="text-orga999616">
|
||||
<div id="outline-container-org9b984be" class="outline-3">
|
||||
<h3 id="org9b984be">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org9b984be">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [stewart] = computeJacobian(stewart)
|
||||
% computeJacobian -
|
||||
@ -2297,9 +2296,9 @@ This Matlab function is accessible <a href="../src/computeJacobian.m">here</a>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgac50fa7" class="outline-3">
|
||||
<h3 id="orgac50fa7">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-orgac50fa7">
|
||||
<div id="outline-container-orga0158ff" class="outline-3">
|
||||
<h3 id="orga0158ff">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-orga0158ff">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">assert(isfield(stewart.geometry, 'As'), 'stewart.geometry should have attribute As')
|
||||
As = stewart.geometry.As;
|
||||
@ -2345,9 +2344,9 @@ Ki = stewart.actuators.K;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd7c92be" class="outline-3">
|
||||
<h3 id="orgd7c92be">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgd7c92be">
|
||||
<div id="outline-container-orgecc27b3" class="outline-3">
|
||||
<h3 id="orgecc27b3">Populate the <code>stewart</code> structure</h3>
|
||||
<div class="outline-text-3" id="text-orgecc27b3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">stewart.kinematics.J = J;
|
||||
stewart.kinematics.K = K;
|
||||
@ -2407,9 +2406,9 @@ Otherwise, when the limbs’ lengths derived yield complex numbers, then the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd247ad5" class="outline-3">
|
||||
<h3 id="orgd247ad5">Function description</h3>
|
||||
<div class="outline-text-3" id="text-orgd247ad5">
|
||||
<div id="outline-container-org988305f" class="outline-3">
|
||||
<h3 id="org988305f">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org988305f">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [Li, dLi] = inverseKinematics(stewart, args)
|
||||
% inverseKinematics - Compute the needed length of each strut to have the wanted position and orientation of {B} with respect to {A}
|
||||
@ -2433,9 +2432,9 @@ Otherwise, when the limbs’ lengths derived yield complex numbers, then the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3259665" class="outline-3">
|
||||
<h3 id="org3259665">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org3259665">
|
||||
<div id="outline-container-org954d921" class="outline-3">
|
||||
<h3 id="org954d921">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org954d921">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -2447,9 +2446,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4ca8cd1" class="outline-3">
|
||||
<h3 id="org4ca8cd1">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org4ca8cd1">
|
||||
<div id="outline-container-org2e35685" class="outline-3">
|
||||
<h3 id="org2e35685">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org2e35685">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">assert(isfield(stewart.geometry, 'Aa'), 'stewart.geometry should have attribute Aa')
|
||||
Aa = stewart.geometry.Aa;
|
||||
@ -2493,9 +2492,9 @@ This Matlab function is accessible <a href="../src/forwardKinematicsApprox.m">he
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d81110" class="outline-3">
|
||||
<h3 id="org7d81110">Function description</h3>
|
||||
<div class="outline-text-3" id="text-org7d81110">
|
||||
<div id="outline-container-orgb2b186c" class="outline-3">
|
||||
<h3 id="orgb2b186c">Function description</h3>
|
||||
<div class="outline-text-3" id="text-orgb2b186c">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">function [P, R] = forwardKinematicsApprox(stewart, args)
|
||||
% forwardKinematicsApprox - Computed the approximate pose of {B} with respect to {A} from the length of each strut and using
|
||||
@ -2517,9 +2516,9 @@ This Matlab function is accessible <a href="../src/forwardKinematicsApprox.m">he
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgada2d6f" class="outline-3">
|
||||
<h3 id="orgada2d6f">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-orgada2d6f">
|
||||
<div id="outline-container-org8e4bfab" class="outline-3">
|
||||
<h3 id="org8e4bfab">Optional Parameters</h3>
|
||||
<div class="outline-text-3" id="text-org8e4bfab">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">arguments
|
||||
stewart
|
||||
@ -2530,9 +2529,9 @@ end
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org02f1320" class="outline-3">
|
||||
<h3 id="org02f1320">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org02f1320">
|
||||
<div id="outline-container-org87cdb4a" class="outline-3">
|
||||
<h3 id="org87cdb4a">Check the <code>stewart</code> structure elements</h3>
|
||||
<div class="outline-text-3" id="text-org87cdb4a">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">assert(isfield(stewart.kinematics, 'J'), 'stewart.kinematics should have attribute J')
|
||||
J = stewart.kinematics.J;
|
||||
@ -2587,7 +2586,7 @@ We then compute the corresponding rotation matrix.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-05-05 mar. 10:34</p>
|
||||
<p class="date">Created: 2020-05-20 mer. 15:49</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,10 +1,9 @@
|
||||
<?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-05-05 mar. 10:33 -->
|
||||
<!-- 2020-05-20 mer. 15:49 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<title>Determination of the optimal nano-hexapod’s stiffness</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
@ -37,7 +36,7 @@
|
||||
<ul>
|
||||
<li><a href="#org157c07d">1. Spindle Rotation Speed</a>
|
||||
<ul>
|
||||
<li><a href="#orgd45a5be">1.1. Initialization</a></li>
|
||||
<li><a href="#org654fcb6">1.1. Initialization</a></li>
|
||||
<li><a href="#org687bdef">1.2. Identification when rotating at maximum speed</a></li>
|
||||
<li><a href="#org7dcfddb">1.3. Change of dynamics</a></li>
|
||||
</ul>
|
||||
@ -52,7 +51,7 @@
|
||||
</li>
|
||||
<li><a href="#org19559b0">3. Payload “Impedance” Effect</a>
|
||||
<ul>
|
||||
<li><a href="#org654fcb6">3.1. Initialization</a></li>
|
||||
<li><a href="#orgd20f43d">3.1. Initialization</a></li>
|
||||
<li><a href="#org73f1c6e">3.2. Identification of the dynamics while change the payload dynamics</a></li>
|
||||
<li><a href="#orgd7a519b">3.3. Change of dynamics for the primary controller</a>
|
||||
<ul>
|
||||
@ -109,8 +108,8 @@ The rotation speed will have an effect due to the Coriolis effect.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd45a5be" class="outline-3">
|
||||
<h3 id="orgd45a5be"><span class="section-number-3">1.1</span> Initialization</h3>
|
||||
<div id="outline-container-org654fcb6" class="outline-3">
|
||||
<h3 id="org654fcb6"><span class="section-number-3">1.1</span> Initialization</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
@ -386,8 +385,8 @@ When the nano-hexapod is stiff (\(k>10^7\ [N/m]\)), the compliance of the micro-
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org654fcb6" class="outline-3">
|
||||
<h3 id="org654fcb6"><span class="section-number-3">3.1</span> Initialization</h3>
|
||||
<div id="outline-container-orgd20f43d" class="outline-3">
|
||||
<h3 id="orgd20f43d"><span class="section-number-3">3.1</span> Initialization</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
We initialize all the stages with the default parameters.
|
||||
@ -470,7 +469,7 @@ We can see two mass lines for the soft nano-hexapod (Figure <a href="#org00db693
|
||||
<div id="org00db693" class="figure">
|
||||
<p><img src="figs/opt_stiffness_payload_freq_fz_dz.png" alt="opt_stiffness_payload_freq_fz_dz.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 11: </span>Dynamics from \(\mathcal{F}_z\) to \(\mathcal{X}_z\) for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod (<a href="./figs/opt_stiffness_payload_freq_fz_dz.png">png</a>, <a href="./figs/opt_stiffness_payload_freq_fz_dz.pdf">pdf</a>)</p>
|
||||
<p><span class="figure-number">Figure 11: </span>Dynamics from \(\mathcal{F}_z\) to \(\mathcal{X}_z\) for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod</p>
|
||||
</div>
|
||||
|
||||
|
||||
@ -507,7 +506,7 @@ We can see here that for the soft nano-hexapod:
|
||||
<div id="orga1343a7" class="figure">
|
||||
<p><img src="figs/opt_stiffness_payload_mass_fz_dz.png" alt="opt_stiffness_payload_mass_fz_dz.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 13: </span>Dynamics from \(\mathcal{F}_z\) to \(\mathcal{X}_z\) for varying payload mass, both for a soft nano-hexapod and a stiff nano-hexapod (<a href="./figs/opt_stiffness_payload_mass_fz_dz.png">png</a>, <a href="./figs/opt_stiffness_payload_mass_fz_dz.pdf">pdf</a>)</p>
|
||||
<p><span class="figure-number">Figure 13: </span>Dynamics from \(\mathcal{F}_z\) to \(\mathcal{X}_z\) for varying payload mass, both for a soft nano-hexapod and a stiff nano-hexapod</p>
|
||||
</div>
|
||||
|
||||
|
||||
@ -629,7 +628,7 @@ And finally, in Figures <a href="#orge05feb5">21</a> and <a href="#org17c5c95">2
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2020-05-05 mar. 10:33</p>
|
||||
<p class="date">Created: 2020-05-20 mer. 15:49</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
BIN
mat/conf_log.mat
BIN
mat/conf_log.mat
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
mat/stages.mat
BIN
mat/stages.mat
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -431,3 +431,21 @@ Identification
|
||||
#+caption: Root Locus for the two considered rotation speed. For the red curve, the system is unstable.
|
||||
#+RESULTS:
|
||||
[[file:figs/amplified_piezo_xy_rotating_unstable_root_locus.png]]
|
||||
|
||||
* Stewart Platform with Amplified Actuators
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
simulinkproject('../');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
open('nass_model.slx')
|
||||
#+end_src
|
||||
|
@ -141,7 +141,7 @@ exportFig('figs/opt_stiff_dvf_plant.pdf', 'width', 'full', 'height', 'full')
|
||||
#+RESULTS:
|
||||
[[file:figs/opt_stiff_dvf_plant.png]]
|
||||
|
||||
#+begin_src matlab :exports none :post
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
|
||||
gains = logspace(2, 5, 300);
|
||||
@ -1561,7 +1561,7 @@ exportFig('figs/opt_stiff_hac_dvf_Dh_offset_dL.pdf', 'width', 'normal', 'height'
|
||||
*** Simulation
|
||||
A simulation is now performed with translation scans and spindle rotation at the same time.
|
||||
|
||||
The sample has a mass one 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.
|
||||
The sample has a mass of 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.
|
||||
|
||||
#+begin_src matlab
|
||||
initializeDisturbances();
|
||||
|
@ -1279,7 +1279,13 @@ The =mirror= structure is saved.
|
||||
args.MR (1,1) double {mustBeNumeric, mustBePositive} = 90e-3
|
||||
args.MTh (6,1) double {mustBeNumeric} = [-60+10, 60-10, 60+10, 180-10, 180+10, -60-10]*(pi/180)
|
||||
% initializeStrutDynamics
|
||||
args.actuator char {mustBeMember(args.actuator,{'piezo', 'lorentz'})} = 'piezo'
|
||||
args.actuator char {mustBeMember(args.actuator,{'piezo', 'lorentz', 'amplified'})} = 'piezo'
|
||||
args.ki (1,1) double {mustBeNumeric} = -1
|
||||
args.ke (1,1) double {mustBeNumeric} = -1
|
||||
args.ka (1,1) double {mustBeNumeric} = -1
|
||||
args.ci (1,1) double {mustBeNumeric} = -1
|
||||
args.ce (1,1) double {mustBeNumeric} = -1
|
||||
args.ca (1,1) double {mustBeNumeric} = -1
|
||||
args.k (1,1) double {mustBeNumeric} = -1
|
||||
args.c (1,1) double {mustBeNumeric} = -1
|
||||
% initializeJointDynamics
|
||||
|
@ -1281,14 +1281,13 @@ We can see two mass lines for the soft nano-hexapod (Figure [[fig:opt_stiffness_
|
||||
ylabel('Phase [deg]'); xlabel('Frequency [Hz]');
|
||||
ylim([-270, 90]);
|
||||
yticks([-360:90:360]);
|
||||
legend('location', 'southwest');
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
i = 7;
|
||||
|
||||
ax1 = subplot(2, 2, 2);
|
||||
ax3 = subplot(2, 2, 2);
|
||||
hold on;
|
||||
for j = 1:length(Fs)
|
||||
plot(freqs, abs(squeeze(freqresp(Gf_err{i,j}('Ez', 'Fz'), freqs, 'Hz'))), '-');
|
||||
@ -1298,7 +1297,7 @@ We can see two mass lines for the soft nano-hexapod (Figure [[fig:opt_stiffness_
|
||||
ylabel('Amplitude [m/N]'); set(gca, 'XTickLabel',[]);
|
||||
title(sprintf('$k = %.0e$ [N/m]', Ks(i)))
|
||||
|
||||
ax2 = subplot(2, 2, 4);
|
||||
ax4 = subplot(2, 2, 4);
|
||||
hold on;
|
||||
for j = 1:length(Fs)
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gf_err{i,j}('Ez', 'Fz'), freqs, 'Hz')))), '-', ...
|
||||
@ -1311,17 +1310,19 @@ We can see two mass lines for the soft nano-hexapod (Figure [[fig:opt_stiffness_
|
||||
yticks([-360:90:360]);
|
||||
legend('location', 'southwest');
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
linkaxes([ax3,ax4],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
linkaxes([ax1,ax3],'y');
|
||||
#+end_src
|
||||
|
||||
#+header: :tangle no :exports results :results none :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/opt_stiffness_payload_freq_fz_dz.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/opt_stiffness_payload_freq_fz_dz.pdf', 'width', 'full', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:opt_stiffness_payload_freq_fz_dz
|
||||
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod ([[./figs/opt_stiffness_payload_freq_fz_dz.png][png]], [[./figs/opt_stiffness_payload_freq_fz_dz.pdf][pdf]])
|
||||
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod
|
||||
#+RESULTS:
|
||||
[[file:figs/opt_stiffness_payload_freq_fz_dz.png]]
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
@ -1419,7 +1420,7 @@ We can see here that for the soft nano-hexapod:
|
||||
|
||||
i = 7;
|
||||
|
||||
ax1 = subplot(2, 2, 2);
|
||||
ax3 = subplot(2, 2, 2);
|
||||
hold on;
|
||||
for j = 1:length(Ms)
|
||||
plot(freqs, abs(squeeze(freqresp(Gm_err{i,j}('Ez', 'Fz'), freqs, 'Hz'))), '-');
|
||||
@ -1429,7 +1430,7 @@ We can see here that for the soft nano-hexapod:
|
||||
ylabel('Amplitude [m/N]'); set(gca, 'XTickLabel',[]);
|
||||
title(sprintf('$k = %.0e$ [N/m]', Ks(i)))
|
||||
|
||||
ax2 = subplot(2, 2, 4);
|
||||
ax4 = subplot(2, 2, 4);
|
||||
hold on;
|
||||
for j = 1:length(Ms)
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gm_err{i,j}('Ez', 'Fz'), freqs, 'Hz')))), '-', ...
|
||||
@ -1442,17 +1443,19 @@ We can see here that for the soft nano-hexapod:
|
||||
yticks([-360:90:360]);
|
||||
legend('location', 'southwest');
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
linkaxes([ax3,ax4],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
linkaxes([ax1,ax3],'y');
|
||||
#+end_src
|
||||
|
||||
#+header: :tangle no :exports results :results none :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/opt_stiffness_payload_mass_fz_dz.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/opt_stiffness_payload_mass_fz_dz.pdf', 'width', 'full', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:opt_stiffness_payload_mass_fz_dz
|
||||
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload mass, both for a soft nano-hexapod and a stiff nano-hexapod ([[./figs/opt_stiffness_payload_mass_fz_dz.png][png]], [[./figs/opt_stiffness_payload_mass_fz_dz.pdf][pdf]])
|
||||
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload mass, both for a soft nano-hexapod and a stiff nano-hexapod
|
||||
#+RESULTS:
|
||||
[[file:figs/opt_stiffness_payload_mass_fz_dz.png]]
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
|
@ -20,7 +20,7 @@ arguments
|
||||
args.C (6,1) double {mustBeNumeric, mustBeNonnegative} = 2e1*ones(6,1)
|
||||
end
|
||||
|
||||
stewart.actuators.type = 1;
|
||||
stewart.actuators.type = 3;
|
||||
|
||||
stewart.actuators.K = args.K;
|
||||
stewart.actuators.C = args.C;
|
||||
|
Loading…
Reference in New Issue
Block a user