Add functions to add platforms at .STEP files

This commit is contained in:
2020-11-03 08:50:54 +01:00
parent 58cd2026dc
commit 32330b92f0
23 changed files with 95501 additions and 99 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

View File

@@ -3,7 +3,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-09-01 mar. 13:18 -->
<!-- 2020-09-07 lun. 23:16 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Stewart Platform with Flexible Elements</title>
<meta name="generator" content="Org mode" />
@@ -28,48 +28,48 @@
<ul>
<li><a href="#orgbdb2a68">1. Simscape Model</a>
<ul>
<li><a href="#org1a0f3d5">1.1. Flexible APA</a></li>
<li><a href="#org17a6e21">1.1. Flexible APA</a></li>
<li><a href="#org3650a90">1.2. Flexible Joint</a></li>
<li><a href="#org75c496c">1.3. Identification</a></li>
<li><a href="#org1a49c82">1.3. Identification</a></li>
<li><a href="#org52d500c">1.4. No Flexible Elements</a></li>
<li><a href="#org6800cf5">1.5. Flexible joints</a></li>
<li><a href="#org17a6e21">1.6. Flexible APA</a></li>
<li><a href="#org896571b">1.6. Flexible APA</a></li>
<li><a href="#org1609aa1">1.7. Flexible Joints and APA</a></li>
<li><a href="#org238cd25">1.8. Save</a></li>
<li><a href="#orge9b9e81">1.9. Direct Velocity Feedback</a></li>
<li><a href="#org265a0a3">1.10. Integral Force Feedback</a></li>
<li><a href="#org15aa3b2">1.11. Procedure to include flexible elements into Simscape</a></li>
<li><a href="#org0b65066">1.12. Conclusion</a></li>
<li><a href="#orgbddb83e">1.12. Conclusion</a></li>
</ul>
</li>
<li><a href="#org90432f4">2. Control with flexible elements</a>
<ul>
<li><a href="#org1697b6a">2.1. Flexible APA and Flexible Joint</a></li>
<li><a href="#org1a49c82">2.2. Identification</a></li>
<li><a href="#orgeebd547">2.2. Identification</a></li>
<li><a href="#org353e7e4">2.3. Decentralized Direct Velocity Feedback</a></li>
<li><a href="#orgf84ea43">2.4. HAC</a></li>
</ul>
</li>
<li><a href="#orge8b5f65">3. Flexible Joint Specifications</a>
<ul>
<li><a href="#orgfb150a0">3.1. Stewart Platform Initialization</a></li>
<li><a href="#org36b0a8e">3.1. Stewart Platform Initialization</a></li>
<li><a href="#orga01758c">3.2. Effect of the Bending Stiffness</a></li>
<li><a href="#orga98637e">3.3. Effect of the Torsion Stiffness</a></li>
<li><a href="#org4f5ee79">3.4. Effect of the Axial Stiffness</a></li>
<li><a href="#org4a85ef8">3.5. Effect of the Radial (Shear) Stiffness</a></li>
<li><a href="#orgd0fd2ec">3.6. Comparison of perfect joint and worst specified joint</a></li>
<li><a href="#orgbddb83e">3.7. Conclusion</a></li>
<li><a href="#orgcb2d2af">3.6. Comparison of perfect joint and worst specified joint</a></li>
<li><a href="#orgbeb611a">3.7. Conclusion</a></li>
</ul>
</li>
<li><a href="#org0017658">4. Flexible Joint Specifications with the APA300ML</a>
<ul>
<li><a href="#org96b5fde">4.1. Stewart Platform Initialization</a></li>
<li><a href="#orgcb2d2af">4.2. Comparison of perfect joint and worst specified joint</a></li>
<li><a href="#orgbd1d5a4">4.1. Stewart Platform Initialization</a></li>
<li><a href="#org512c6e0">4.2. Comparison of perfect joint and worst specified joint</a></li>
</ul>
</li>
<li><a href="#org649a6c9">5. Relative Motion Sensors</a>
<ul>
<li><a href="#org36b0a8e">5.1. Stewart Platform Initialization</a></li>
<li><a href="#org9530a70">5.1. Stewart Platform Initialization</a></li>
</ul>
</li>
</ul>
@@ -80,8 +80,8 @@
<h2 id="orgbdb2a68"><span class="section-number-2">1</span> Simscape Model</h2>
<div class="outline-text-2" id="text-1">
</div>
<div id="outline-container-org1a0f3d5" class="outline-3">
<h3 id="org1a0f3d5"><span class="section-number-3">1.1</span> Flexible APA</h3>
<div id="outline-container-org17a6e21" class="outline-3">
<h3 id="org17a6e21"><span class="section-number-3">1.1</span> Flexible APA</h3>
<div class="outline-text-3" id="text-1-1">
<div class="org-src-container">
<pre class="src src-matlab">apa = load('./mat/APA300ML.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
@@ -323,8 +323,8 @@
</div>
</div>
<div id="outline-container-org75c496c" class="outline-3">
<h3 id="org75c496c"><span class="section-number-3">1.3</span> Identification</h3>
<div id="outline-container-org1a49c82" class="outline-3">
<h3 id="org1a49c82"><span class="section-number-3">1.3</span> Identification</h3>
<div class="outline-text-3" id="text-1-3">
<p>
And we identify the dynamics from force actuators to force sensors.
@@ -433,8 +433,8 @@ Gj.OutputName = {'Dm1', 'Dm2', 'Dm3', 'Dm4', 'Dm5', 'Dm6', 'Fm1', 'Fm2', 'Fm3',
</div>
</div>
<div id="outline-container-org17a6e21" class="outline-3">
<h3 id="org17a6e21"><span class="section-number-3">1.6</span> Flexible APA</h3>
<div id="outline-container-org896571b" class="outline-3">
<h3 id="org896571b"><span class="section-number-3">1.6</span> Flexible APA</h3>
<div class="outline-text-3" id="text-1-6">
<div id="org774a034" class="figure">
@@ -564,8 +564,8 @@ In order to model a flexible element with only few mass-spring-damper elements:
</div>
</div>
<div id="outline-container-org0b65066" class="outline-3">
<h3 id="org0b65066"><span class="section-number-3">1.12</span> Conclusion</h3>
<div id="outline-container-orgbddb83e" class="outline-3">
<h3 id="orgbddb83e"><span class="section-number-3">1.12</span> Conclusion</h3>
<div class="outline-text-3" id="text-1-12">
<div class="important">
<p>
@@ -621,8 +621,8 @@ references = initializeReferences(stewart);
</div>
</div>
<div id="outline-container-org1a49c82" class="outline-3">
<h3 id="org1a49c82"><span class="section-number-3">2.2</span> Identification</h3>
<div id="outline-container-orgeebd547" class="outline-3">
<h3 id="orgeebd547"><span class="section-number-3">2.2</span> Identification</h3>
<div class="outline-text-3" id="text-2-2">
<p>
And we identify the dynamics from force actuators to force sensors.
@@ -718,8 +718,8 @@ Kl = diag(1./diag(abs(freqresp(Gl, wc)))) * wc/s * 1/(1 + s/3/wc);
<h2 id="orge8b5f65"><span class="section-number-2">3</span> Flexible Joint Specifications</h2>
<div class="outline-text-2" id="text-3">
</div>
<div id="outline-container-orgfb150a0" class="outline-3">
<h3 id="orgfb150a0"><span class="section-number-3">3.1</span> Stewart Platform Initialization</h3>
<div id="outline-container-org36b0a8e" class="outline-3">
<h3 id="org36b0a8e"><span class="section-number-3">3.1</span> Stewart Platform Initialization</h3>
<div class="outline-text-3" id="text-3-1">
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
@@ -796,11 +796,11 @@ controller = initializeController('type', 'open-loop');
</div>
</div>
<div id="outline-container-orgd0fd2ec" class="outline-3">
<h3 id="orgd0fd2ec"><span class="section-number-3">3.6</span> Comparison of perfect joint and worst specified joint</h3>
<div id="outline-container-orgcb2d2af" class="outline-3">
<h3 id="orgcb2d2af"><span class="section-number-3">3.6</span> Comparison of perfect joint and worst specified joint</h3>
</div>
<div id="outline-container-orgbddb83e" class="outline-3">
<h3 id="orgbddb83e"><span class="section-number-3">3.7</span> Conclusion</h3>
<div id="outline-container-orgbeb611a" class="outline-3">
<h3 id="orgbeb611a"><span class="section-number-3">3.7</span> Conclusion</h3>
<div class="outline-text-3" id="text-3-7">
<p>
Qualitatively:
@@ -889,8 +889,8 @@ Quantitatively:
<h2 id="org0017658"><span class="section-number-2">4</span> Flexible Joint Specifications with the APA300ML</h2>
<div class="outline-text-2" id="text-4">
</div>
<div id="outline-container-org96b5fde" class="outline-3">
<h3 id="org96b5fde"><span class="section-number-3">4.1</span> Stewart Platform Initialization</h3>
<div id="outline-container-orgbd1d5a4" class="outline-3">
<h3 id="orgbd1d5a4"><span class="section-number-3">4.1</span> Stewart Platform Initialization</h3>
<div class="outline-text-3" id="text-4-1">
<div class="org-src-container">
<pre class="src src-matlab">apa = load('./mat/APA300ML.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
@@ -932,22 +932,17 @@ controller = initializeController('type', 'open-loop');
</div>
</div>
<div id="outline-container-orgcb2d2af" class="outline-3">
<h3 id="orgcb2d2af"><span class="section-number-3">4.2</span> Comparison of perfect joint and worst specified joint</h3>
<div id="outline-container-org512c6e0" class="outline-3">
<h3 id="org512c6e0"><span class="section-number-3">4.2</span> Comparison of perfect joint and worst specified joint</h3>
</div>
</div>
<div id="outline-container-org649a6c9" class="outline-2">
<h2 id="org649a6c9"><span class="section-number-2">5</span> Relative Motion Sensors</h2>
<div class="outline-text-2" id="text-5">
</div>
<div id="outline-container-org36b0a8e" class="outline-3">
<h3 id="org36b0a8e"><span class="section-number-3">5.1</span> Stewart Platform Initialization</h3>
<div id="outline-container-org9530a70" class="outline-3">
<h3 id="org9530a70"><span class="section-number-3">5.1</span> Stewart Platform Initialization</h3>
<div class="outline-text-3" id="text-5-1">
<div class="org-src-container">
<pre class="src src-matlab">apa = load('./mat/APA300ML.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeStewartPlatform();
stewart = initializeFramesPositions(stewart);
@@ -957,33 +952,24 @@ stewart = computeJointsPose(stewart);
</div>
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeAmplifiedStrutDynamics(stewart, 'Ke', 1.5e6*ones(6,1), 'Ka', 43e6*ones(6,1), 'K1', 0.4e6*ones(6,1), 'C1', 10*ones(6,1));
<pre class="src src-matlab">apa = load('./mat/APA300ML.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
stewart = initializeAmplifiedStrutDynamics(stewart, 'Ke', 1.5e6*ones(6,1), 'Ka', 40.5e6*ones(6,1), 'K1', 0.4e6*ones(6,1));
% stewart = initializeFlexibleStrutDynamics(stewart, 'H', 0.03, 'K', apa.K, 'M', apa.M, 'n_xyz', apa.n_xyz, 'xi', 0.1, 'step_file', 'mat/APA300ML.STEP');
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeJointDynamics(stewart, 'type_F', 'universal_3dof', ...
'type_M', 'spherical_3dof', ...
'Kf_M', 100*ones(6,1), ...
'Kt_M', 500*ones(6,1), ...
'Kf_F', 100*ones(6,1), ...
'Kt_F', 500*ones(6,1), ...
'Ka_M', 200e6*ones(6,1), ...
'Kr_M', 1e6*ones(6,1), ...
'Ka_F', 200e6*ones(6,1), ...
'Kr_F', 1e6*ones(6,1));
% stewart = initializeJointDynamics(stewart, 'type_F', 'universal_3dof', ...
% 'type_M', 'spherical_3dof', ...
% 'Kf_M', 100*ones(6,1), ...
% 'Kt_M', 500*ones(6,1), ...
% 'Kf_F', 100*ones(6,1), ...
% 'Kt_F', 500*ones(6,1), ...
% 'Ka_M', 1e6*ones(6,1), ...
% 'Kr_M', 1e6*ones(6,1), ...
% 'Ka_F', 1e6*ones(6,1), ...
% 'Kr_F', 1e6*ones(6,1));
% stewart = initializeJointDynamics(stewart, 'type_F', 'universal_p', 'type_M', 'spherical_p');
<pre class="src src-matlab">flex_joint = load('./mat/flexor_025.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
stewart = initializeJointDynamics(stewart, 'type_M', 'spherical_3dof', ...
'Kr_M', flex_joint.K(1,1)*ones(6,1), ...
'Ka_M', flex_joint.K(3,3)*ones(6,1), ...
'Kf_M', flex_joint.K(4,4)*ones(6,1), ...
'Kt_M', flex_joint.K(6,6)*ones(6,1), ...
'type_F', 'universal_3dof', ...
'Kr_F', flex_joint.K(1,1)*ones(6,1), ...
'Ka_F', flex_joint.K(3,3)*ones(6,1), ...
'Kf_F', flex_joint.K(4,4)*ones(6,1), ...
'Kt_F', flex_joint.K(6,6)*ones(6,1));
</pre>
</div>
@@ -994,7 +980,6 @@ stewart = computeJointsPose(stewart);
<div class="org-src-container">
<pre class="src src-matlab">stewart = initializeCylindricalStruts(stewart);
% stewart = initializeCylindricalStruts(stewart, 'type_F', 'none', 'type_M', 'none');
</pre>
</div>
@@ -1018,18 +1003,13 @@ controller = initializeController('type', 'open-loop');
<pre class="src src-matlab">disturbances = initializeDisturbances();
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">open('stewart_platform_model.slx')
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2020-09-01 mar. 13:18</p>
<p class="date">Created: 2020-09-07 lun. 23:16</p>
</div>
</body>
</html>