Update active damping analysis

This commit is contained in:
2020-02-11 18:04:45 +01:00
parent 7ff04f690f
commit 9659e5a507
51 changed files with 540 additions and 513 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-02-11 mar. 15:50 -->
<!-- 2020-02-11 mar. 17:50 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Kinematic Study of the Stewart Platform</title>
@@ -287,7 +287,7 @@ for the JavaScript code in this tag.
<li><a href="#org5a3ce80">3.3. Approximate solution of the Forward and Inverse Kinematic problem for small displacement using the Jacobian matrix</a></li>
<li><a href="#org86b4b35">3.4. Estimation of the range validity of the approximate inverse kinematics</a>
<ul>
<li><a href="#orgd52392b">3.4.1. Stewart architecture definition</a></li>
<li><a href="#org8be231b">3.4.1. Stewart architecture definition</a></li>
<li><a href="#orgd83ccf3">3.4.2. Comparison for &ldquo;pure&rdquo; translations</a></li>
<li><a href="#org4871c83">3.4.3. Conclusion</a></li>
</ul>
@@ -296,7 +296,7 @@ for the JavaScript code in this tag.
</li>
<li><a href="#org63255f9">4. Estimated required actuator stroke from specified platform mobility</a>
<ul>
<li><a href="#org4bde983">4.1. Stewart architecture definition</a></li>
<li><a href="#org4d97075">4.1. Stewart architecture definition</a></li>
<li><a href="#orgde50dd3">4.2. Wanted translations and rotations</a></li>
<li><a href="#org24e45ca">4.3. Needed stroke for &ldquo;pure&rdquo; rotations or translations</a></li>
<li><a href="#orgf6ba90c">4.4. Needed stroke for &ldquo;combined&rdquo; rotations or translations</a></li>
@@ -304,7 +304,7 @@ for the JavaScript code in this tag.
</li>
<li><a href="#orgbbbf7b3">5. Estimated platform mobility from specified actuator stroke</a>
<ul>
<li><a href="#orgf4b310d">5.1. Stewart architecture definition</a></li>
<li><a href="#orgc3c7024">5.1. Stewart architecture definition</a></li>
<li><a href="#org2c6819e">5.2. Pure translations</a></li>
</ul>
</li>
@@ -312,8 +312,8 @@ for the JavaScript code in this tag.
<ul>
<li><a href="#org26e8b28">6.1. <code>computeJacobian</code>: Compute the Jacobian Matrix</a>
<ul>
<li><a href="#org2aa5728">Function description</a></li>
<li><a href="#orgdbebf2c">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#orgdfb3b70">Function description</a></li>
<li><a href="#org14aeafc">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org0cd57b5">Compute Jacobian Matrix</a></li>
<li><a href="#orge21dcfc">Compute Stiffness Matrix</a></li>
<li><a href="#orgae76071">Compute Compliance Matrix</a></li>
@@ -323,17 +323,17 @@ for the JavaScript code in this tag.
<li><a href="#orgb82066f">6.2. <code>inverseKinematics</code>: Compute Inverse Kinematics</a>
<ul>
<li><a href="#org89930b7">Theory</a></li>
<li><a href="#org97cfff6">Function description</a></li>
<li><a href="#org61cf152">Optional Parameters</a></li>
<li><a href="#org9318276">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#orgfe68a5b">Function description</a></li>
<li><a href="#org7a9a427">Optional Parameters</a></li>
<li><a href="#org27c8a3f">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org0d64c23">Compute</a></li>
</ul>
</li>
<li><a href="#orgf5d8f0b">6.3. <code>forwardKinematicsApprox</code>: Compute the Approximate Forward Kinematics</a>
<ul>
<li><a href="#org8b2e069">Function description</a></li>
<li><a href="#org8029a3d">Optional Parameters</a></li>
<li><a href="#orgca4f1e5">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#org1a620fe">Function description</a></li>
<li><a href="#org7be1dc4">Optional Parameters</a></li>
<li><a href="#org9c3aa33">Check the <code>stewart</code> structure elements</a></li>
<li><a href="#orge5ade24">Computation</a></li>
</ul>
</li>
@@ -666,8 +666,8 @@ This will also gives us the range for which the approximate forward kinematic is
</p>
</div>
<div id="outline-container-orgd52392b" class="outline-4">
<h4 id="orgd52392b"><span class="section-number-4">3.4.1</span> Stewart architecture definition</h4>
<div id="outline-container-org8be231b" class="outline-4">
<h4 id="org8be231b"><span class="section-number-4">3.4.1</span> Stewart architecture definition</h4>
<div class="outline-text-4" id="text-3-4-1">
<p>
We first define some general Stewart architecture.
@@ -753,8 +753,8 @@ One may want to determine the required actuator stroke required to obtain the sp
This is what is analyzed in this section.
</p>
</div>
<div id="outline-container-org4bde983" class="outline-3">
<h3 id="org4bde983"><span class="section-number-3">4.1</span> Stewart architecture definition</h3>
<div id="outline-container-org4d97075" class="outline-3">
<h3 id="org4d97075"><span class="section-number-3">4.1</span> Stewart architecture definition</h3>
<div class="outline-text-3" id="text-4-1">
<p>
Let&rsquo;s first define the Stewart platform architecture that we want to study.
@@ -1161,8 +1161,8 @@ As explained in section <a href="#orgca82bb8">3</a>, the forward kinematic probl
However, for small displacements, we can use the Jacobian as an approximate solution.
</p>
</div>
<div id="outline-container-orgf4b310d" class="outline-3">
<h3 id="orgf4b310d"><span class="section-number-3">5.1</span> Stewart architecture definition</h3>
<div id="outline-container-orgc3c7024" class="outline-3">
<h3 id="orgc3c7024"><span class="section-number-3">5.1</span> Stewart architecture definition</h3>
<div class="outline-text-3" id="text-5-1">
<p>
Let&rsquo;s first define the Stewart platform architecture that we want to study.
@@ -1289,13 +1289,13 @@ We can also approximate the mobility by a sphere with a radius equal to the mini
</p>
<p>
This Matlab function is accessible <a href="src/computeJacobian.m">here</a>.
This Matlab function is accessible <a href="../src/computeJacobian.m">here</a>.
</p>
</div>
<div id="outline-container-org2aa5728" class="outline-4">
<h4 id="org2aa5728">Function description</h4>
<div class="outline-text-4" id="text-org2aa5728">
<div id="outline-container-orgdfb3b70" class="outline-4">
<h4 id="orgdfb3b70">Function description</h4>
<div class="outline-text-4" id="text-orgdfb3b70">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[stewart]</span> = <span class="org-function-name">computeJacobian</span>(<span class="org-variable-name">stewart</span>)
<span class="org-comment">% computeJacobian -</span>
@@ -1318,9 +1318,9 @@ This Matlab function is accessible <a href="src/computeJacobian.m">here</a>.
</div>
</div>
<div id="outline-container-orgdbebf2c" class="outline-4">
<h4 id="orgdbebf2c">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-orgdbebf2c">
<div id="outline-container-org14aeafc" class="outline-4">
<h4 id="org14aeafc">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org14aeafc">
<div class="org-src-container">
<pre class="src src-matlab">assert(isfield(stewart.geometry, <span class="org-string">'As'</span>), <span class="org-string">'stewart.geometry should have attribute As'</span>)
As = stewart.geometry.As;
@@ -1388,7 +1388,7 @@ stewart.kinematics.C = C;
</p>
<p>
This Matlab function is accessible <a href="src/inverseKinematics.m">here</a>.
This Matlab function is accessible <a href="../src/inverseKinematics.m">here</a>.
</p>
</div>
@@ -1428,9 +1428,9 @@ Otherwise, when the limbs&rsquo; lengths derived yield complex numbers, then the
</div>
</div>
<div id="outline-container-org97cfff6" class="outline-4">
<h4 id="org97cfff6">Function description</h4>
<div class="outline-text-4" id="text-org97cfff6">
<div id="outline-container-orgfe68a5b" class="outline-4">
<h4 id="orgfe68a5b">Function description</h4>
<div class="outline-text-4" id="text-orgfe68a5b">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[Li, dLi]</span> = <span class="org-function-name">inverseKinematics</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% inverseKinematics - Compute the needed length of each strut to have the wanted position and orientation of {B} with respect to {A}</span>
@@ -1454,9 +1454,9 @@ Otherwise, when the limbs&rsquo; lengths derived yield complex numbers, then the
</div>
</div>
<div id="outline-container-org61cf152" class="outline-4">
<h4 id="org61cf152">Optional Parameters</h4>
<div class="outline-text-4" id="text-org61cf152">
<div id="outline-container-org7a9a427" class="outline-4">
<h4 id="org7a9a427">Optional Parameters</h4>
<div class="outline-text-4" id="text-org7a9a427">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@@ -1468,9 +1468,9 @@ Otherwise, when the limbs&rsquo; lengths derived yield complex numbers, then the
</div>
</div>
<div id="outline-container-org9318276" class="outline-4">
<h4 id="org9318276">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org9318276">
<div id="outline-container-org27c8a3f" class="outline-4">
<h4 id="org27c8a3f">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org27c8a3f">
<div class="org-src-container">
<pre class="src src-matlab">assert(isfield(stewart.geometry, <span class="org-string">'Aa'</span>), <span class="org-string">'stewart.geometry should have attribute Aa'</span>)
Aa = stewart.geometry.Aa;
@@ -1510,13 +1510,13 @@ l = stewart.geometry.l;
</p>
<p>
This Matlab function is accessible <a href="src/forwardKinematicsApprox.m">here</a>.
This Matlab function is accessible <a href="../src/forwardKinematicsApprox.m">here</a>.
</p>
</div>
<div id="outline-container-org8b2e069" class="outline-4">
<h4 id="org8b2e069">Function description</h4>
<div class="outline-text-4" id="text-org8b2e069">
<div id="outline-container-org1a620fe" class="outline-4">
<h4 id="org1a620fe">Function description</h4>
<div class="outline-text-4" id="text-org1a620fe">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-keyword">function</span> <span class="org-variable-name">[P, R]</span> = <span class="org-function-name">forwardKinematicsApprox</span>(<span class="org-variable-name">stewart</span>, <span class="org-variable-name">args</span>)
<span class="org-comment">% forwardKinematicsApprox - Computed the approximate pose of {B} with respect to {A} from the length of each strut and using</span>
@@ -1538,9 +1538,9 @@ This Matlab function is accessible <a href="src/forwardKinematicsApprox.m">here<
</div>
</div>
<div id="outline-container-org8029a3d" class="outline-4">
<h4 id="org8029a3d">Optional Parameters</h4>
<div class="outline-text-4" id="text-org8029a3d">
<div id="outline-container-org7be1dc4" class="outline-4">
<h4 id="org7be1dc4">Optional Parameters</h4>
<div class="outline-text-4" id="text-org7be1dc4">
<div class="org-src-container">
<pre class="src src-matlab">arguments
stewart
@@ -1551,9 +1551,9 @@ This Matlab function is accessible <a href="src/forwardKinematicsApprox.m">here<
</div>
</div>
<div id="outline-container-orgca4f1e5" class="outline-4">
<h4 id="orgca4f1e5">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-orgca4f1e5">
<div id="outline-container-org9c3aa33" class="outline-4">
<h4 id="org9c3aa33">Check the <code>stewart</code> structure elements</h4>
<div class="outline-text-4" id="text-org9c3aa33">
<div class="org-src-container">
<pre class="src src-matlab">assert(isfield(stewart.kinematics, <span class="org-string">'J'</span>), <span class="org-string">'stewart.kinematics should have attribute J'</span>)
J = stewart.kinematics.J;
@@ -1616,7 +1616,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-02-11 mar. 15:50</p>
<p class="date">Created: 2020-02-11 mar. 17:50</p>
</div>
</body>
</html>