minor changes
This commit is contained in:
@@ -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>
|
||||
<!-- 2019-12-11 mer. 14:47 -->
|
||||
<!-- 2019-12-12 jeu. 11:39 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Kinematics of the station</title>
|
||||
@@ -283,16 +283,16 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgf49d055">1. Micro Hexapod</a>
|
||||
<li><a href="#org1c1eaea">1. Micro Hexapod</a>
|
||||
<ul>
|
||||
<li><a href="#orgb024fa1">1.1. How the Symetrie Hexapod is controlled on the micro station</a></li>
|
||||
<li><a href="#org34abe0f">1.2. Control of the Micro-Hexapod using Simscape</a>
|
||||
<li><a href="#orgbed4ee9">1.1. How the Symetrie Hexapod is controlled on the micro station</a></li>
|
||||
<li><a href="#org3fdba3a">1.2. Control of the Micro-Hexapod using Simscape</a>
|
||||
<ul>
|
||||
<li><a href="#org118cdf5">1.2.1. Using Bushing Joint</a></li>
|
||||
<li><a href="#org37b4bdd">1.2.2. Using Inverse Kinematics and Leg Actuators</a>
|
||||
<li><a href="#org6d226ad">1.2.1. Using Bushing Joint</a></li>
|
||||
<li><a href="#orgd390910">1.2.2. Using Inverse Kinematics and Leg Actuators</a>
|
||||
<ul>
|
||||
<li><a href="#org9839e83">1.2.2.1. Theory</a></li>
|
||||
<li><a href="#org78fd3cf">1.2.2.2. Matlab Implementation</a></li>
|
||||
<li><a href="#orgf6ea97b">1.2.2.1. Theory</a></li>
|
||||
<li><a href="#org67bcb7b">1.2.2.2. Matlab Implementation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -307,12 +307,12 @@ for the JavaScript code in this tag.
|
||||
In this document, we discuss the way the motion of each stage is defined.
|
||||
</p>
|
||||
|
||||
<div id="outline-container-orgf49d055" class="outline-2">
|
||||
<h2 id="orgf49d055"><span class="section-number-2">1</span> Micro Hexapod</h2>
|
||||
<div id="outline-container-org1c1eaea" class="outline-2">
|
||||
<h2 id="org1c1eaea"><span class="section-number-2">1</span> Micro Hexapod</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgb024fa1" class="outline-3">
|
||||
<h3 id="orgb024fa1"><span class="section-number-3">1.1</span> How the Symetrie Hexapod is controlled on the micro station</h3>
|
||||
<div id="outline-container-orgbed4ee9" class="outline-3">
|
||||
<h3 id="orgbed4ee9"><span class="section-number-3">1.1</span> How the Symetrie Hexapod is controlled on the micro station</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
For the Micro-Hexapod, the convention for the angles are defined in <code>MAN_A_Software API_4.0.150918_EN.pdf</code> on page 13 (section 2.4 - Rotation Vectors):
|
||||
@@ -360,8 +360,8 @@ Thus, it does the translations and then the rotation around the new translated f
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org34abe0f" class="outline-3">
|
||||
<h3 id="org34abe0f"><span class="section-number-3">1.2</span> Control of the Micro-Hexapod using Simscape</h3>
|
||||
<div id="outline-container-org3fdba3a" class="outline-3">
|
||||
<h3 id="org3fdba3a"><span class="section-number-3">1.2</span> Control of the Micro-Hexapod using Simscape</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
We can think of two main ways to position the Micro-Hexapod using Simscape.
|
||||
@@ -378,15 +378,15 @@ This require a little bit more of mathematical derivations but this is the chose
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org118cdf5" class="outline-4">
|
||||
<h4 id="org118cdf5"><span class="section-number-4">1.2.1</span> Using Bushing Joint</h4>
|
||||
<div id="outline-container-org6d226ad" class="outline-4">
|
||||
<h4 id="org6d226ad"><span class="section-number-4">1.2.1</span> Using Bushing Joint</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<p>
|
||||
In the documentation of the Bushing Joint (<code>doc "Bushing Joint"</code>) that is used to position the Hexapods, it is mention that the following frame is positioned with respect to the base frame in a way shown in figure <a href="#orgbf74afe">1</a>.
|
||||
In the documentation of the Bushing Joint (<code>doc "Bushing Joint"</code>) that is used to position the Hexapods, it is mention that the following frame is positioned with respect to the base frame in a way shown in figure <a href="#orgb016316">1</a>.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgbf74afe" class="figure">
|
||||
<div id="orgb016316" class="figure">
|
||||
<p><img src="figs/bushing_joint_transform.png" alt="bushing_joint_transform.png" />
|
||||
</p>
|
||||
<p><span class="figure-number">Figure 1: </span>Joint Transformation Sequence for the Bushing Joint</p>
|
||||
@@ -404,8 +404,8 @@ However, the Bushing Joint makes rotations around mobiles axes (X, Y' and then Z
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org37b4bdd" class="outline-4">
|
||||
<h4 id="org37b4bdd"><span class="section-number-4">1.2.2</span> Using Inverse Kinematics and Leg Actuators</h4>
|
||||
<div id="outline-container-orgd390910" class="outline-4">
|
||||
<h4 id="orgd390910"><span class="section-number-4">1.2.2</span> Using Inverse Kinematics and Leg Actuators</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
Here, we can use the Inverse Kinematic of the Hexapod to determine the length of each leg in order to obtain some defined translation and rotation of the mobile platform.
|
||||
@@ -431,8 +431,8 @@ Thus, for this simulation, we <b>remove the gravity</b>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9839e83" class="outline-5">
|
||||
<h5 id="org9839e83"><span class="section-number-5">1.2.2.1</span> Theory</h5>
|
||||
<div id="outline-container-orgf6ea97b" class="outline-5">
|
||||
<h5 id="orgf6ea97b"><span class="section-number-5">1.2.2.1</span> Theory</h5>
|
||||
<div class="outline-text-5" id="text-1-2-2-1">
|
||||
<p>
|
||||
For inverse kinematic analysis, it is assumed that the position \({}^A\bm{P}\) and orientation of the moving platform \({}^A\bm{R}_B\) are given and the problem is to obtain the joint variables, namely, \(\bm{L} = [l_1, l_2, \dots, l_6]^T\).
|
||||
@@ -443,7 +443,7 @@ From the geometry of the manipulator, the loop closure for each limb, \(i = 1, 2
|
||||
</p>
|
||||
\begin{align*}
|
||||
l_i {}^A\hat{\bm{s}}_i &= {}^A\bm{A} + {}^A\bm{b}_i - {}^A\bm{a}_i \\
|
||||
&= {}^A\bm{A} + {}^A\bm{R}_b {}^B\bm{b}_i - {}^A\bm{a}_i
|
||||
&= {}^A\bm{A} + {}^A\bm{R}_b {}^B\bm{b}_i - {}^A\bm{a}_i
|
||||
\end{align*}
|
||||
|
||||
<p>
|
||||
@@ -467,14 +467,14 @@ Otherwise, when the limbs' lengths derived yield complex numbers, then the posit
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78fd3cf" class="outline-5">
|
||||
<h5 id="org78fd3cf"><span class="section-number-5">1.2.2.2</span> Matlab Implementation</h5>
|
||||
<div id="outline-container-org67bcb7b" class="outline-5">
|
||||
<h5 id="org67bcb7b"><span class="section-number-5">1.2.2.2</span> Matlab Implementation</h5>
|
||||
<div class="outline-text-5" id="text-1-2-2-2">
|
||||
<p>
|
||||
We open the Simulink file.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">open <span class="org-string">'simscape/hexapod_tests.slx'</span>
|
||||
<pre class="src src-matlab">open<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'kinematics/matlab/hexapod_tests.slx'</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@@ -482,7 +482,7 @@ We open the Simulink file.
|
||||
We load the configuration and set a small <code>StopTime</code>.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab">load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'simscape/conf_simscape.mat'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
<pre class="src src-matlab">load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/conf_simscape.mat'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
<span class="org-matlab-simulink-keyword">set_param</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">conf_simscape</span>, <span class="org-string">'StopTime'</span>, '<span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">5</span><span class="org-type">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
|
||||
</pre>
|
||||
</div>
|
||||
@@ -518,7 +518,7 @@ hexapod = initializeMicroHexapod<span class="org-rainbow-delimiters-depth-1">(</
|
||||
We run the simulation.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-matlab"><span class="org-matlab-simulink-keyword">sim</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'simscape/hexapod_tests.slx'</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
<pre class="src src-matlab"><span class="org-matlab-simulink-keyword">sim</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'hexapod_tests'</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@@ -594,7 +594,7 @@ And we verify that we indeed succeed to go to the wanted position.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: Dehaeze Thomas</p>
|
||||
<p class="date">Created: 2019-12-11 mer. 14:47</p>
|
||||
<p class="date">Created: 2019-12-12 jeu. 11:39</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@@ -182,7 +182,7 @@ We define the wanted position/orientation of the Hexapod under study.
|
||||
|
||||
We run the simulation.
|
||||
#+begin_src matlab
|
||||
sim('hexapod_tests.slx')
|
||||
sim('hexapod_tests')
|
||||
#+end_src
|
||||
|
||||
And we verify that we indeed succeed to go to the wanted position.
|
||||
|
Reference in New Issue
Block a user