diff --git a/docs/cubic-configuration.html b/docs/cubic-configuration.html index 9787df1..7562bd4 100644 --- a/docs/cubic-configuration.html +++ b/docs/cubic-configuration.html @@ -4,7 +4,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +generateCubicConfiguration
is used (described here).@@ -1186,8 +1186,8 @@ FOc = H + MO_B; % Cente
@@ -1273,8 +1273,8 @@ We also find that \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) are varyi
We observe that \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) increase linearly with the cube size. @@ -1319,20 +1319,6 @@ We here suppose that there is one relative motion sensor in each strut (\(\delta Thanks to the Jacobian matrix, we can use the “architecture” shown in Figure 9 to obtain the dynamics of the system from forces/torques applied by the actuators on the top platform to translations/rotations of the top platform.
-\begin{tikzpicture} - \node[block] (Jt) at (0, 0) {$\bm{J}^{-T}$}; - \node[block, right= of Jt] (G) {$\bm{G}$}; - \node[block, right= of G] (J) {$\bm{J}^{-1}$}; - - \draw[->] ($(Jt.west)+(-0.8, 0)$) -- (Jt.west) node[above left]{$\bm{\mathcal{F}}$}; - \draw[->] (Jt.east) -- (G.west) node[above left]{$\bm{\tau}$}; - \draw[->] (G.east) -- (J.west) node[above left]{$\delta\bm{\mathcal{L}}$}; - \draw[->] (J.east) -- ++(0.8, 0) node[above left]{$\delta\bm{\mathcal{X}}$}; -\end{tikzpicture} --
@@ -1643,8 +1629,8 @@ This was expected as the mass matrix is not diagonal (the Center of Mass of the
@@ -1826,8 +1812,8 @@ And we identify the dynamics from the actuator forces \(\tau_{i}\) to the relati
@@ -1998,7 +1984,7 @@ stewart.platform_M.Mb = Mb;
Created: 2020-02-13 jeu. 16:46
+Created: 2020-02-14 ven. 14:11
\begin{tikzpicture} - \node[block] (Jt) at (0, 0) {$J^{-T}$}; - \node[block, right= of Jt] (G) {$G$}; - \node[block, right= of G] (J) {$J^{-1}$}; - - \draw[->] ($(Jt.west)+(-0.8, 0)$) -- (Jt.west) node[above left]{$F_i$}; - \draw[->] (Jt.east) -- (G.west) node[above left]{$\tau_i$}; - \draw[->] (G.east) -- (J.west) node[above left]{$q_i$}; - \draw[->] (J.east) -- ++(0.8, 0) node[above left]{$X_i$}; -\end{tikzpicture} --
@@ -317,7 +303,7 @@ Thus, the system is uncoupled if \(G\) and \(K\) are diagonal.
Created: 2020-02-11 mar. 17:52
+Created: 2020-02-14 ven. 14:11
initializeStewartPlatform
: Initialize the Stewart Platform structure
initializeFramesPositions
: Initialize the positions of frames {A}, {B}, {F} and {M}
generateGeneralConfiguration
: Generate a Very General Configuration
computeJointsPose
: Compute the Pose of the Joints
stewart
structure elementsstewart
structure elementsstewart
structurestewart
structureinitializeStewartPose
: Determine the initial stroke in each leg to have the wanted pose
initializeCylindricalPlatforms
: Initialize the geometry of the Fixed and Mobile Platforms
initializeCylindricalStruts
: Define the inertia of cylindrical struts
initializeStrutDynamics
: Add Stiffness and Damping properties of each strut
initializeAmplifiedStrutDynamics
: Add Stiffness and Damping properties of each strut for an amplified piezoelectric actuator
initializeJointDynamics
: Add Stiffness and Damping properties for spherical joints
displayArchitecture
: 3D plot of the Stewart platform architecture
stewart
structure elementsstewart
structure elementsfunction [stewart] = initializeStewartPlatform() % initializeStewartPlatform - Initialize the stewart structure @@ -918,11 +918,11 @@ This Matlab function is accessible
arguments stewart @@ -985,9 +985,9 @@ FO_A = MO_B + FO_M; % Po
stewart
structurestewart
structurestewart.geometry.H = H; stewart.geometry.FO_M = FO_M; @@ -1011,9 +1011,9 @@ This Matlab function is accessible -Documentation
-++-Documentation
+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 9). @@ -1028,9 +1028,9 @@ The radius of the circles can be chosen as well as the angles where the joints a
-Function description
-++Function description
+-function [stewart] = generateGeneralConfiguration(stewart, args) % generateGeneralConfiguration - Generate a Very General Configuration @@ -1055,9 +1055,9 @@ The radius of the circles can be chosen as well as the angles where the joints a-Optional Parameters
-++Optional Parameters
+-arguments stewart @@ -1092,9 +1092,9 @@ Mb = zeros(3,6);-Populate the
-stewart
structure++Populate the
+stewart
structure-stewart.platform_F.Fa = Fa; stewart.platform_M.Mb = Mb; @@ -1116,9 +1116,9 @@ This Matlab function is accessible here-Documentation
-++Documentation
+-@@ -1128,9 +1128,9 @@ This Matlab function is accessible here
-Function description
-++Function description
+-function [stewart] = computeJointsPose(stewart) % computeJointsPose - @@ -1163,9 +1163,9 @@ This Matlab function is accessible here-Check the
-stewart
structure elements++Check the
+stewart
structure elements-assert(isfield(stewart.platform_F, 'Fa'), 'stewart.platform_F should have attribute Fa') Fa = stewart.platform_F.Fa; @@ -1236,9 +1236,9 @@ MRb = zeros(3,3,6);-Populate the
-stewart
structure++Populate the
+stewart
structure-stewart.geometry.Aa = Aa; stewart.geometry.Ab = Ab; @@ -1271,9 +1271,9 @@ This Matlab function is accessible here-Function description
-++Function description
+-function [stewart] = initializeStewartPose(stewart, args) % initializeStewartPose - Determine the initial stroke in each leg to have the wanted pose @@ -1297,9 +1297,9 @@ This Matlab function is accessible here-Optional Parameters
-++Optional Parameters
+-arguments stewart @@ -1321,9 +1321,9 @@ This Matlab function is accessible here-Populate the
-stewart
structure++Populate the
+stewart
structurestewart.actuators.Leq = dLi;@@ -1344,9 +1344,9 @@ This Matlab function is accessible -Function description
-++Function description
+function [stewart] = initializeCylindricalPlatforms(stewart, args) % initializeCylindricalPlatforms - Initialize the geometry of the Fixed and Mobile Platforms @@ -1380,9 +1380,9 @@ This Matlab function is accessible -Optional Parameters
-++Optional Parameters
+arguments stewart @@ -1417,9 +1417,9 @@ This Matlab function is accessible -Populate the
-stewart
structure++Populate the
+stewart
structurestewart.platform_F.type = 1; @@ -1455,9 +1455,9 @@ This Matlab function is accessible -Function description
-++Function description
+function [stewart] = initializeCylindricalStruts(stewart, args) % initializeCylindricalStruts - Define the mass and moment of inertia of cylindrical struts @@ -1490,9 +1490,9 @@ This Matlab function is accessible -Optional Parameters
-++Optional Parameters
+-arguments stewart @@ -1540,9 +1540,9 @@ I_M = zeros(3, 3, 6); % Inertia of the "mobile" part o
-Populate the
-stewart
structure++Populate the
+stewart
structure-stewart.struts_M.type = 1; @@ -1578,9 +1578,9 @@ This Matlab function is accessible he-Documentation
-++Documentation
+@@ -1609,9 +1609,9 @@ A simplistic model of such amplified actuator is shown in Figure -
Function description
-++Function description
+function [stewart] = initializeStrutDynamics(stewart, args) % initializeStrutDynamics - Add Stiffness and Damping properties of each strut @@ -1633,9 +1633,9 @@ A simplistic model of such amplified actuator is shown in Figure -Optional Parameters
-++Optional Parameters
+arguments stewart @@ -1673,9 +1673,9 @@ This Matlab function is accessible -Documentation
-++Documentation
+An amplified piezoelectric actuator is shown in Figure 13.
@@ -1708,9 +1708,9 @@ A simplistic model of such amplified actuator is shown in Figure -Function description
-++Function description
+function [stewart] = initializeAmplifiedStrutDynamics(stewart, args) % initializeAmplifiedStrutDynamics - Add Stiffness and Damping properties of each strut @@ -1738,9 +1738,9 @@ A simplistic model of such amplified actuator is shown in Figure -Optional Parameters
-++Optional Parameters
+-arguments stewart @@ -1765,9 +1765,9 @@ C = args.Ca + args.Cr;
-Populate the
-stewart
structure++Populate the
+stewart
structure-stewart.actuators.type = 2; @@ -1797,9 +1797,9 @@ This Matlab function is accessible he-Function description
-++Function description
+-function [stewart] = initializeJointDynamics(stewart, args) % initializeJointDynamics - Add Stiffness and Damping properties for the spherical joints @@ -1834,9 +1834,9 @@ This Matlab function is accessible he-Optional Parameters
-++Optional Parameters
+-arguments stewart @@ -2036,9 +2036,9 @@ Note that there is trade-off between:-Function description
-++Function description
+-function [stewart] = initializeInertialSensor(stewart, args) % initializeInertialSensor - Initialize the inertial sensor in each strut @@ -2064,9 +2064,9 @@ Note that there is trade-off between:-Optional Parameters
-++Optional Parameters
+-arguments stewart @@ -2107,9 +2107,9 @@ Note that there is trade-off between:-Populate the
-stewart
structure++Populate the
+stewart
structure-stewart.sensors.inertial = sensor;@@ -2130,9 +2130,9 @@ This Matlab function is accessible here-Function description
-++Function description
+-function [] = displayArchitecture(stewart, args) % displayArchitecture - 3D plot of the Stewart platform architecture @@ -2161,9 +2161,9 @@ This Matlab function is accessible here-Optional Parameters
-++Optional Parameters
+-arguments stewart @@ -2184,9 +2184,9 @@ This Matlab function is accessible here-Check the
-stewart
structure elements++Check the
+stewart
structure elementsassert(isfield(stewart.platform_F, 'FO_A'), 'stewart.platform_F should have attribute FO_A') FO_A = stewart.platform_F.FO_A; @@ -2522,7 +2522,7 @@ Plot the legs connecting the joints of the fixed base to the joints of the mobildiff --git a/org/cubic-configuration.org b/org/cubic-configuration.org index 877cf41..158fd1a 100644 --- a/org/cubic-configuration.org +++ b/org/cubic-configuration.org @@ -45,15 +45,15 @@ This configuration is now widely used (cite:preumont07_six_axis_singl_stage_acti According to cite:preumont07_six_axis_singl_stage_activ, the cubic configuration offers the following advantages: #+begin_quote -This topology provides a uniform control capability and a uniform stiffness in all directions, and it minimizes the cross-coupling amongst actuators and sensors of different legs (being orthogonal to each other). +This topology provides a *uniform control capability* and a *uniform stiffness* in all directions, and it *minimizes the cross-coupling amongst actuators and sensors of different legs* (being orthogonal to each other). #+end_quote In this document, the cubic architecture is analyzed: -- In section [[sec:cubic_conf_stiffness]], we study the link between the Stiffness matrix and the cubic architecture and we find what are the conditions to obtain a diagonal stiffness matrix -- In section [[sec:cubic_conf_above_platform]], we study cubic configurations where the cube's center is located above the mobile platform +- In section [[sec:cubic_conf_stiffness]], we study the *uniform stiffness* of such configuration and we find the conditions to obtain a diagonal stiffness matrix +- In section [[sec:cubic_conf_above_platform]], we find cubic configurations where the cube's center is located above the mobile platform - In section [[sec:cubic_conf_size_analysis]], we study the effect of the cube's size on the Stewart platform properties -- In section [[sec:cubic_conf_coupling_cartesian]], we study the dynamic coupling of the cubic configuration in the cartesian frame -- In section [[sec:cubic_conf_coupling_struts]], we study the dynamic coupling of the cubic configuration from actuators to sensors of each strut +- In section [[sec:cubic_conf_coupling_cartesian]], we study the dynamics of the cubic configuration in the cartesian frame +- In section [[sec:cubic_conf_coupling_struts]], we study the dynamic *cross-coupling* of the cubic configuration from actuators to sensors of each strut - In section [[sec:functions]], function related to the cubic configuration are defined. To generate and study the Stewart platform with a Cubic configuration, the Matlab function =generateCubicConfiguration= is used (described [[sec:generateCubicConfiguration][here]]). * Stiffness Matrix for the Cubic configuration @@ -605,7 +605,7 @@ We here suppose that there is one relative motion sensor in each strut ($\delta\ Thanks to the Jacobian matrix, we can use the "architecture" shown in Figure [[fig:local_to_cartesian_coordinates]] to obtain the dynamics of the system from forces/torques applied by the actuators on the top platform to translations/rotations of the top platform. -#+begin_src latex :file local_to_cartesian_coordinates.pdf :post pdf2svg(file=*this*, ext="png") :exports both +#+begin_src latex :file local_to_cartesian_coordinates.pdf \begin{tikzpicture} \node[block] (Jt) at (0, 0) {$\bm{J}^{-T}$}; \node[block, right= of Jt] (G) {$\bm{G}$}; diff --git a/org/static-analysis.org b/org/static-analysis.org index fd57e8f..3d2aba5 100644 --- a/org/static-analysis.org +++ b/org/static-analysis.org @@ -41,7 +41,7 @@ * Coupling What causes the coupling from $F_i$ to $X_i$ ? -#+begin_src latex :file coupling.pdf :post pdf2svg(file=*this*, ext="png") :exports both +#+begin_src latex :file coupling.pdf \begin{tikzpicture} \node[block] (Jt) at (0, 0) {$J^{-T}$}; \node[block, right= of Jt] (G) {$G$}; diff --git a/org/stewart-architecture.org b/org/stewart-architecture.org index 64a7023..a427cd1 100644 --- a/org/stewart-architecture.org +++ b/org/stewart-architecture.org @@ -449,7 +449,7 @@ This Matlab function is accessible [[file:../src/generateGeneralConfiguration.m] 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 [[fig:joint_position_general]]). -#+begin_src latex :file stewart_bottom_plate.pdf :exports results +#+begin_src latex :file stewart_bottom_plate.pdf \begin{tikzpicture} % Internal and external limit \draw[fill=white!80!black] (0, 0) circle [radius=3]; @@ -993,7 +993,7 @@ A simplistic model of such amplified actuator is shown in Figure [[fig:actuator_ - $v_{m}$ represents the absolute velocity of the top part of the actuator - $d_{m}$ represents the total relative displacement of the actuator -#+begin_src latex :file actuator_model_simple.pdf :post pdf2svg(file=*this*, ext="png") :exports results +#+begin_src latex :file actuator_model_simple.pdf \begin{tikzpicture} \draw (-1, 0) -- (1, 0); @@ -1094,7 +1094,7 @@ A simplistic model of such amplified actuator is shown in Figure [[fig:amplified - $v_{m,i}$ represents the absolute velocity of the top part of the actuator - $d_{m,i}$ represents the total relative displacement of the actuator -#+begin_src latex :file iff_1dof.pdf :post pdf2svg(file=*this*, ext="png") :exports results +#+begin_src latex :file iff_1dof.pdf \begin{tikzpicture} % Ground \draw (-1.2, 0) -- (1, 0); -Created: 2020-02-13 jeu. 15:47
+Created: 2020-02-14 ven. 14:11