diff --git a/cubic-configuration.html b/cubic-configuration.html index 5a62fcc..1d16096 100644 --- a/cubic-configuration.html +++ b/cubic-configuration.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Cubic configuration for the Stewart Platform @@ -193,12 +193,8 @@ .org-svg { width: 90%; } /*]]>*/--> + - - - - - @@ -279,33 +278,33 @@ for the JavaScript code in this tag.

Table of Contents

@@ -327,15 +326,15 @@ The specificity of the Cubic configuration is that each actuator is orthogonal w

-To generate and study the Cubic configuration, initializeCubicConfiguration is used (description in section 4). +To generate and study the Cubic configuration, initializeCubicConfiguration is used (description in section 4).

According to preumont07_six_axis_singl_stage_activ, the cubic configuration provides a uniform stiffness in all directions and minimizes the crosscoupling from actuator to sensor of different legs (being orthogonal to each other).

-
-

1 Questions we wish to answer with this analysis

+
+

1 Questions we wish to answer with this analysis

The goal is to study the benefits of using a cubic configuration: @@ -348,45 +347,45 @@ The goal is to study the benefits of using a cubic configuration:

-
-

2 Configuration Analysis - Stiffness Matrix

+
+

2 Configuration Analysis - Stiffness Matrix

-
-

2.1 Cubic Stewart platform centered with the cube center - Jacobian estimated at the cube center

+
+

2.1 Cubic Stewart platform centered with the cube center - Jacobian estimated at the cube center

-We create a cubic Stewart platform (figure 1) in such a way that the center of the cube (black dot) is located at the center of the Stewart platform (blue dot). +We create a cubic Stewart platform (figure 1) in such a way that the center of the cube (black dot) is located at the center of the Stewart platform (blue dot). The Jacobian matrix is estimated at the location of the center of the cube.

-
+

3d-cubic-stewart-aligned.png

Figure 1: Centered cubic configuration

-
opts = struct(...
-    'H_tot', 100, ... % Total height of the Hexapod [mm]
-    'L',     200/sqrt(3), ... % Size of the Cube [mm]
-    'H',     60, ... % Height between base joints and platform joints [mm]
-    'H0',    200/2-60/2 ... % Height between the corner of the cube and the plane containing the base joints [mm]
+
opts = struct(...
+    'H_tot', 100, ... % Total height of the Hexapod [mm]
+    'L',     200/sqrt(3), ... % Size of the Cube [mm]
+    'H',     60, ... % Height between base joints and platform joints [mm]
+    'H0',    200/2-60/2 ... % Height between the corner of the cube and the plane containing the base joints [mm]
     );
 stewart = initializeCubicConfiguration(opts);
-opts = struct(...
-    'Jd_pos', [0, 0, -50], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
-    'Jf_pos', [0, 0, -50]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
+opts = struct(...
+    'Jd_pos', [0, 0, -50], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
+    'Jf_pos', [0, 0, -50]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
     );
 stewart = computeGeometricalProperties(stewart, opts);
 
-save('./mat/stewart.mat', 'stewart');
+save('./mat/stewart.mat', 'stewart');
 
-
K = stewart.Jf'*stewart.Jf;
+
K = stewart.Jf'*stewart.Jf;
 
@@ -465,32 +464,32 @@ save( -

2.2 Cubic Stewart platform centered with the cube center - Jacobian not estimated at the cube center

+
+

2.2 Cubic Stewart platform centered with the cube center - Jacobian not estimated at the cube center

-We create a cubic Stewart platform with center of the cube located at the center of the Stewart platform (figure 1). +We create a cubic Stewart platform with center of the cube located at the center of the Stewart platform (figure 1). The Jacobian matrix is not estimated at the location of the center of the cube.

-
opts = struct(...
-    'H_tot', 100, ... % Total height of the Hexapod [mm]
-    'L',     200/sqrt(3), ... % Size of the Cube [mm]
-    'H',     60, ... % Height between base joints and platform joints [mm]
-    'H0',    200/2-60/2 ... % Height between the corner of the cube and the plane containing the base joints [mm]
+
opts = struct(...
+    'H_tot', 100, ... % Total height of the Hexapod [mm]
+    'L',     200/sqrt(3), ... % Size of the Cube [mm]
+    'H',     60, ... % Height between base joints and platform joints [mm]
+    'H0',    200/2-60/2 ... % Height between the corner of the cube and the plane containing the base joints [mm]
     );
 stewart = initializeCubicConfiguration(opts);
-opts = struct(...
-    'Jd_pos', [0, 0, 0], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
-    'Jf_pos', [0, 0, 0]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
+opts = struct(...
+    'Jd_pos', [0, 0, 0], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
+    'Jf_pos', [0, 0, 0]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
     );
 stewart = computeGeometricalProperties(stewart, opts);
 
-
K = stewart.Jf'*stewart.Jf;
+
K = stewart.Jf'*stewart.Jf;
 
@@ -569,16 +568,16 @@ stewart = computeGeometricalProperties -

2.3 Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center

+
+

2.3 Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center

-Here, the "center" of the Stewart platform is not at the cube center (figure 2). +Here, the "center" of the Stewart platform is not at the cube center (figure 2). The Jacobian is estimated at the cube center.

-
+

3d-cubic-stewart-misaligned.png

Figure 2: Not centered cubic configuration

@@ -592,23 +591,23 @@ The center of the cube from the top platform is at \(z = 110 - 175 = -65\).

-
opts = struct(...
-    'H_tot', 100,         ... % Total height of the Hexapod [mm]
-    'L',     220/sqrt(3), ... % Size of the Cube [mm]
-    'H',     60,          ... % Height between base joints and platform joints [mm]
-    'H0',    75           ... % Height between the corner of the cube and the plane containing the base joints [mm]
+
opts = struct(...
+    'H_tot', 100,         ... % Total height of the Hexapod [mm]
+    'L',     220/sqrt(3), ... % Size of the Cube [mm]
+    'H',     60,          ... % Height between base joints and platform joints [mm]
+    'H0',    75           ... % Height between the corner of the cube and the plane containing the base joints [mm]
     );
 stewart = initializeCubicConfiguration(opts);
-opts = struct(...
-    'Jd_pos', [0, 0, -65], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
-    'Jf_pos', [0, 0, -65]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
+opts = struct(...
+    'Jd_pos', [0, 0, -65], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
+    'Jf_pos', [0, 0, -65]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
     );
 stewart = computeGeometricalProperties(stewart, opts);
 
-
K = stewart.Jf'*stewart.Jf;
+
K = stewart.Jf'*stewart.Jf;
 
@@ -691,8 +690,8 @@ We obtain \(k_x = k_y = k_z\) and \(k_{\theta_x} = k_{\theta_y}\), but the Stiff
-
-

2.4 Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center

+
+

2.4 Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center

Here, the "center" of the Stewart platform is not at the cube center. @@ -707,23 +706,23 @@ The center of the cube from the top platform is at \(z = 110 - 175 = -65\).

-
opts = struct(...
-    'H_tot', 100, ... % Total height of the Hexapod [mm]
-    'L',     220/sqrt(3), ... % Size of the Cube [mm]
-    'H',     60, ... % Height between base joints and platform joints [mm]
-    'H0',    75 ... % Height between the corner of the cube and the plane containing the base joints [mm]
+
opts = struct(...
+    'H_tot', 100, ... % Total height of the Hexapod [mm]
+    'L',     220/sqrt(3), ... % Size of the Cube [mm]
+    'H',     60, ... % Height between base joints and platform joints [mm]
+    'H0',    75 ... % Height between the corner of the cube and the plane containing the base joints [mm]
     );
 stewart = initializeCubicConfiguration(opts);
-opts = struct(...
-    'Jd_pos', [0, 0, -60], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
-    'Jf_pos', [0, 0, -60]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
+opts = struct(...
+    'Jd_pos', [0, 0, -60], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
+    'Jf_pos', [0, 0, -60]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
     );
 stewart = computeGeometricalProperties(stewart, opts);
 
-
K = stewart.Jf'*stewart.Jf;
+
K = stewart.Jf'*stewart.Jf;
 
@@ -806,8 +805,8 @@ We obtain \(k_x = k_y = k_z\) and \(k_{\theta_x} = k_{\theta_y}\), but the Stiff
-
-

2.5 Conclusion

+
+

2.5 Conclusion

    @@ -820,8 +819,8 @@ We obtain \(k_x = k_y = k_z\) and \(k_{\theta_x} = k_{\theta_y}\), but the Stiff
-
-

3 Cubic size analysis

+
+

3 Cubic size analysis

We here study the effect of the size of the cube used for the Stewart configuration. @@ -842,22 +841,22 @@ stewarts = {zeros

-
for i = 1:length(H_cubes)
+
for i = 1:length(H_cubes)
   H_cube = H_cubes(i);
   H_tot = 100;
   H = 80;
 
-  opts = struct(...
-      'H_tot', H_tot, ... % Total height of the Hexapod [mm]
-      'L',     H_cube/sqrt(3), ... % Size of the Cube [mm]
-      'H',     H, ... % Height between base joints and platform joints [mm]
-      'H0',    H_cube/2-H/2 ... % Height between the corner of the cube and the plane containing the base joints [mm]
+  opts = struct(...
+      'H_tot', H_tot, ... % Total height of the Hexapod [mm]
+      'L',     H_cube/sqrt(3), ... % Size of the Cube [mm]
+      'H',     H, ... % Height between base joints and platform joints [mm]
+      'H0',    H_cube/2-H/2 ... % Height between the corner of the cube and the plane containing the base joints [mm]
       );
   stewart = initializeCubicConfiguration(opts);
 
-  opts = struct(...
-      'Jd_pos', [0, 0, H_cube/2-opts.H0-opts.H_tot], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
-      'Jf_pos', [0, 0, H_cube/2-opts.H0-opts.H_tot]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
+  opts = struct(...
+      'Jd_pos', [0, 0, H_cube/2-opts.H0-opts.H_tot], ... % Position of the Jacobian for displacement estimation from the top of the mobile platform [mm]
+      'Jf_pos', [0, 0, H_cube/2-opts.H0-opts.H_tot]  ... % Position of the Jacobian for force location from the top of the mobile platform [mm]
       );
   stewart = computeGeometricalProperties(stewart, opts);
   stewarts(i) = {stewart};
@@ -871,8 +870,8 @@ The Stiffness matrix is computed for all generated Stewart platforms.
 

Ks = zeros(6, 6, length(H_cube));
-for i = 1:length(H_cubes)
-  Ks(:, :, i) = stewarts{i}.Jd'*stewarts{i}.Jd;
+for i = 1:length(H_cubes)
+  Ks(:, :, i) = stewarts{i}.Jd'*stewarts{i}.Jd;
 end
 
@@ -887,16 +886,16 @@ Finally, we plot \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\)
figure;
 hold on;
-plot(H_cubes, squeeze(Ks(4, 4, :)), 'DisplayName', '$k_{\theta_x}$');
-plot(H_cubes, squeeze(Ks(6, 6, :)), 'DisplayName', '$k_{\theta_z}$');
+plot(H_cubes, squeeze(Ks(4, 4, :)), 'DisplayName', '$k_{\theta_x}$');
+plot(H_cubes, squeeze(Ks(6, 6, :)), 'DisplayName', '$k_{\theta_z}$');
 hold off;
-legend('location', 'northwest');
-xlabel('Cube Size [mm]'); ylabel('Rotational stiffnes [normalized]');
+legend('location', 'northwest');
+xlabel('Cube Size [mm]'); ylabel('Rotational stiffnes [normalized]');
 
-
+

stiffness_cube_size.png

Figure 3: \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) function of the size of the cube

@@ -917,16 +916,16 @@ In that case, the legs will the further separated. Size of the cube is then limi
-
-

4 initializeCubicConfiguration

+
+

4 initializeCubicConfiguration

- +

-
-

4.1 Function description

+
+

4.1 Function description

function [stewart] = initializeCubicConfiguration(opts_param)
@@ -935,18 +934,18 @@ In that case, the legs will the further separated. Size of the cube is then limi
 
-
-

4.2 Optional Parameters

+
+

4.2 Optional Parameters

Default values for opts.

-
opts = struct(...
-    'H_tot', 90,  ... % Total height of the Hexapod [mm]
-    'L',     110, ... % Size of the Cube [mm]
-    'H',     40,  ... % Height between base joints and platform joints [mm]
-    'H0',    75   ... % Height between the corner of the cube and the plane containing the base joints [mm]
+
opts = struct(...
+    'H_tot', 90,  ... % Total height of the Hexapod [mm]
+    'L',     110, ... % Size of the Cube [mm]
+    'H',     40,  ... % Height between base joints and platform joints [mm]
+    'H0',    75   ... % Height between the corner of the cube and the plane containing the base joints [mm]
     );
 
@@ -955,7 +954,7 @@ Default values for opts. Populate opts with input parameters

-
if exist('opts_param','var')
+
if exist('opts_param','var')
     for opt = fieldnames(opts_param)'
         opts.(opt{1}) = opts_param.(opt{1});
     end
@@ -965,17 +964,17 @@ Populate opts with input parameters
 
-
-

4.3 Cube Creation

+
+

4.3 Cube Creation

-
points = [0, 0, 0; ...
-          0, 0, 1; ...
-          0, 1, 0; ...
-          0, 1, 1; ...
-          1, 0, 0; ...
-          1, 0, 1; ...
-          1, 1, 0; ...
+
points = [0, 0, 0; ...
+          0, 0, 1; ...
+          0, 1, 0; ...
+          0, 1, 1; ...
+          1, 0, 0; ...
+          1, 0, 1; ...
+          1, 1, 0; ...
           1, 1, 1];
 points = opts.L*points;
 
@@ -994,7 +993,7 @@ sy = sy/norm[1, 1, 1]; sz = sz/norm(sz); -R = [sx', sy', sz']'; +R = [sx', sy', sz']';
@@ -1003,23 +1002,23 @@ We use to rotation matrix to rotate the cube

cube = zeros(size(points));
-for i = 1:size(points, 1)
-  cube(i, :) = R * points(i, :)';
+for i = 1:size(points, 1)
+  cube(i, :) = R * points(i, :)';
 end
 
-
-

4.4 Vectors of each leg

+
+

4.4 Vectors of each leg

-
leg_indices = [3, 4; ...
-               2, 4; ...
-               2, 6; ...
-               5, 6; ...
-               5, 7; ...
+
leg_indices = [3, 4; ...
+               2, 4; ...
+               2, 6; ...
+               5, 6; ...
+               5, 7; ...
                3, 7];
 
@@ -1031,7 +1030,7 @@ Vectors are:
legs = zeros(6, 3);
 legs_start = zeros(6, 3);
 
-for i = 1:6
+for i = 1:6
   legs(i, :) = cube(leg_indices(i, 2), :) - cube(leg_indices(i, 1), :);
   legs_start(i, :) = cube(leg_indices(i, 1), :);
 end
@@ -1040,8 +1039,8 @@ legs_start = zeros(
 
-
-

4.5 Verification of Height of the Stewart Platform

+
+

4.5 Verification of Height of the Stewart Platform

If the Stewart platform is not contained in the cube, throw an error. @@ -1050,9 +1049,9 @@ If the Stewart platform is not contained in the cube, throw an error.

Hmax = cube(4, 3) - cube(2, 3);
 if opts.H0 < cube(2, 3)
-  error(sprintf('H0 is not high enought. Minimum H0 = %.1f', cube(2, 3)));
+  error(sprintf('H0 is not high enought. Minimum H0 = %.1f', cube(2, 3)));
 else if opts.H0 + opts.H > cube(4, 3)
-  error(sprintf('H0+H is too high. Maximum H0+H = %.1f', cube(4, 3)));
+  error(sprintf('H0+H is too high. Maximum H0+H = %.1f', cube(4, 3)));
   error('H0+H is too high');
 end
 
@@ -1060,8 +1059,8 @@ If the Stewart platform is not contained in the cube, throw an error.
-
-

4.6 Determinate the location of the joints

+
+

4.6 Determinate the location of the joints

We now determine the location of the joints on the fixed platform w.r.t the fixed frame \(\{A\}\). @@ -1069,7 +1068,7 @@ We now determine the location of the joints on the fixed platform w.r.t the fixe

Aa = zeros(6, 3);
-for i = 1:6
+for i = 1:6
   t = (opts.H0-legs_start(i, 3))/(legs(i, 3));
   Aa(i, :) = legs_start(i, :) + t*legs(i, :);
 end
@@ -1081,7 +1080,7 @@ And the location of the joints on the mobile platform with respect to \(\{A\}\).
 

Ab = zeros(6, 3);
-for i = 1:6
+for i = 1:6
   t = (opts.H0+opts.H-legs_start(i, 3))/(legs(i, 3));
   Ab(i, :) = legs_start(i, :) + t*legs(i, :);
 end
@@ -1106,8 +1105,8 @@ Ab = Ab - h*
 
-
-

4.7 Returns Stewart Structure

+
+

4.7 Returns Stewart Structure

  stewart = struct();
@@ -1122,15 +1121,15 @@ Ab = Ab - h*
 
-
-

5 Tests

+
+

5 Tests

-
-

5.1 First attempt to parametrisation

+
+

5.1 First attempt to parametrisation

-
+

stewart_bottom_plate.png

Figure 4: Schematic of the bottom plates with all the parameters

@@ -1165,8 +1164,8 @@ Lets express \(a_i\), \(b_i\) and \(a_j\):
-
-

5.2 Second attempt

+
+

5.2 Second attempt

We start with the point of a cube in space: @@ -1185,13 +1184,13 @@ Then we have the direction of all the vectors expressed in the frame of the hexa

-
points = [0, 0, 0; ...
-          0, 0, 1; ...
-          0, 1, 0; ...
-          0, 1, 1; ...
-          1, 0, 0; ...
-          1, 0, 1; ...
-          1, 1, 0; ...
+
points = [0, 0, 0; ...
+          0, 0, 1; ...
+          0, 1, 0; ...
+          0, 1, 1; ...
+          1, 0, 0; ...
+          1, 0, 1; ...
+          1, 1, 0; ...
           1, 1, 1];
 
@@ -1212,14 +1211,14 @@ sy = sy/norm[1, 1, 1]; sz = sz/norm(sz); -R = [sx', sy', sz']'; +R = [sx', sy', sz']';
cube = zeros(size(points));
-for i = 1:size(points, 1)
-  cube(i, :) = R * points(i, :)';
+for i = 1:size(points, 1)
+  cube(i, :) = R * points(i, :)';
 end
 
@@ -1237,16 +1236,16 @@ hold off; Now we plot the legs of the hexapod.

-
leg_indices = [3, 4; ...
-               2, 4; ...
-               2, 6; ...
-               5, 6; ...
-               5, 7; ...
+
leg_indices = [3, 4; ...
+               2, 4; ...
+               2, 6; ...
+               5, 6; ...
+               5, 7; ...
                3, 7]
 
 figure;
 hold on;
-for i = 1:6
+for i = 1:6
   plot3(cube(leg_indices(i, :),1), cube(leg_indices(i, :),2), cube(leg_indices(i, :),3), '-');
 end
 hold off;
@@ -1260,7 +1259,7 @@ Vectors are:
 
legs = zeros(6, 3);
 legs_start = zeros(6, 3);
 
-for i = 1:6
+for i = 1:6
   legs(i, :) = cube(leg_indices(i, 2), :) - cube(leg_indices(i, 1), :);
   legs_start(i, :) = cube(leg_indices(i, 1), :)
 end
@@ -1293,8 +1292,8 @@ Let's then estimate the middle position of the platform
 
-
-

5.3 Generate the Stewart platform for a Cubic configuration

+
+

5.3 Generate the Stewart platform for a Cubic configuration

First we defined the height of the Hexapod. @@ -1315,7 +1314,7 @@ We now determine the location of the joints on the fixed platform.

Aa = zeros(6, 3);
-for i = 1:6
+for i = 1:6
   t = (Zs-legs_start(i, 3))/(legs(i, 3));
   Aa(i, :) = legs_start(i, :) + t*legs(i, :);
 end
@@ -1327,7 +1326,7 @@ And the location of the joints on the mobile platform
 

Ab = zeros(6, 3);
-for i = 1:6
+for i = 1:6
   t = (Ze-legs_start(i, 3))/(legs(i, 3));
   Ab(i, :) = legs_start(i, :) + t*legs(i, :);
 end
@@ -1340,7 +1339,7 @@ And we plot the legs.
 
figure;
 hold on;
-for i = 1:6
+for i = 1:6
   plot3([Ab(i, 1),Aa(i, 1)], [Ab(i, 2),Aa(i, 2)], [Ab(i, 3),Aa(i, 3)], 'k-');
 end
 hold off;
@@ -1364,7 +1363,7 @@ zlim(
 

Author: Thomas Dehaeze

-

Created: 2019-10-09 mer. 11:08

+

Created: 2019-12-12 jeu. 20:10

Validate

diff --git a/cubic-configuration.org b/cubic-configuration.org index 88bfc5d..c0a4bc3 100644 --- a/cubic-configuration.org +++ b/cubic-configuration.org @@ -617,4 +617,4 @@ And we plot the legs. * Bibliography :ignore: bibliographystyle:unsrt -bibliography:references.bib +bibliography:ref.bib diff --git a/index.html b/index.html index b4ad64b..da3aeb7 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Stewart Platforms @@ -193,12 +193,12 @@ .org-svg { width: 90%; } /*]]>*/--> - - - - - - + + + + + + @@ -272,8 +275,12 @@ for the JavaScript code in this tag.

Stewart Platforms

-
-

1 Simscape Model

+

+preumont07_six_axis_singl_stage_activ +

+ +
+

1 Simscape Model

-
-

2 Architecture Study

+
+

2 Architecture Study

-
-

3 Motion Control

+
+

3 Motion Control

  • Active Damping
  • @@ -304,16 +311,16 @@ for the JavaScript code in this tag.
-
-

4 Notes about Stewart platforms

+
+

4 Notes about Stewart platforms

-
-

4.1 Jacobian

+
+

4.1 Jacobian

-
-

4.1.1 Relation to platform parameters

+
+

4.1.1 Relation to platform parameters

A Jacobian is defined by: @@ -329,8 +336,8 @@ Then, the choice of \(O_B\) changes the Jacobian.

-
-

4.1.2 Jacobian for displacement

+
+

4.1.2 Jacobian for displacement

\[ \dot{q} = J \dot{X} \] @@ -347,8 +354,8 @@ For very small displacements \(\delta q\) and \(\delta X\), we have \(\delta q =

-
-

4.1.3 Jacobian for forces

+
+

4.1.3 Jacobian for forces

\[ F = J^T \tau \] @@ -362,8 +369,8 @@ With:

-
-

4.2 Stiffness matrix \(K\)

+
+

4.2 Stiffness matrix \(K\)

\[ K = J^T \text{diag}(k_i) J \] @@ -396,8 +403,8 @@ The compliance element \(C_{ij}\) is then the stiffness

-
-

4.3 Coupling

+
+

4.3 Coupling

What causes the coupling from \(F_i\) to \(X_i\) ? @@ -418,7 +425,7 @@ What causes the coupling from \(F_i\) to \(X_i\) ?

-
+

coupling.png

Figure 1: Block diagram to control an hexapod

@@ -441,7 +448,9 @@ Thus, the system is uncoupled if \(G\) and \(K\) are diagonal.

-references.bib +

Bibliography

+
  • [preumont07_six_axis_singl_stage_activ] Preumont, Horodinca, Romanescu, de, Marneffe, Avraam, Deraemaeker, Bossens, & Abu Hanieh, A Six-Axis Single-Stage Active Vibration Isolator Based on Stewart Platform, Journal of Sound and Vibration, 300(3-5), 644-661 (2007). link. doi.
  • +

diff --git a/index.org b/index.org index 222b12a..fa42ab1 100644 --- a/index.org +++ b/index.org @@ -3,12 +3,12 @@ #+OPTIONS: toc:nil #+OPTIONS: html-postamble:nil -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: #+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}") #+PROPERTY: header-args:latex+ :imagemagick t :fit yes @@ -21,7 +21,10 @@ #+PROPERTY: header-args:latex+ :output-dir figs :END: -* Simscape Model +* Introduction :ignore: +The goal here is to + +* Simscape Model of the Stewart Platform - [[file:simscape-model.org][Model of the Stewart Platform]] - [[file:identification.org][Identification of the Simscape Model]] @@ -35,7 +38,8 @@ - Active Damping - Inertial Control - Decentralized Control -* Notes about Stewart platforms + +* Notes about Stewart platforms :noexport: ** Jacobian *** Relation to platform parameters A Jacobian is defined by: @@ -102,6 +106,6 @@ If $G$ is diagonal (cubic configuration), then $J^{-1} G J^{-T} = G J^{-1} J^{-T Thus, the system is uncoupled if $G$ and $K$ are diagonal. -* Bibliography :ignore: +* Bibliography :ignore: bibliographystyle:unsrt -bibliography:references.bib +bibliography:ref.bib diff --git a/references.bib b/ref.bib similarity index 100% rename from references.bib rename to ref.bib