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"> - + Cubic configuration for the Stewart Platform @@ -274,33 +274,33 @@ for the JavaScript code in this tag.
  • 1.2. Cubic Stewart platform centered with the cube center - Jacobian not estimated at the cube center
  • 1.3. Cubic Stewart platform not centered with the cube center - Jacobian estimated at the cube center
  • 1.4. Cubic Stewart platform not centered with the cube center - Jacobian estimated at the Stewart platform center
  • -
  • 1.5. Conclusion
  • +
  • 1.5. Conclusion
  • 2. Configuration with the Cube’s center above the mobile platform
  • 3. Cubic size analysis
  • 4. Dynamic Coupling in the Cartesian Frame
  • 5. Dynamic Coupling between actuators and sensors of each strut
  • 6. Functions @@ -333,7 +333,7 @@ According to -
  • In section 1, 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 2, we study cubic configurations where the cube’s center is located above the mobile platform
  • +
  • In section 1, we study the uniform stiffness of such configuration and we find the conditions to obtain a diagonal stiffness matrix
  • +
  • In section 2, we find cubic configurations where the cube’s center is located above the mobile platform
  • In section 3, we study the effect of the cube’s size on the Stewart platform properties
  • -
  • In section 4, we study the dynamic coupling of the cubic configuration in the cartesian frame
  • -
  • In section 5, we study the dynamic coupling of the cubic configuration from actuators to sensors of each strut
  • +
  • In section 4, we study the dynamics of the cubic configuration in the cartesian frame
  • +
  • In section 5, we study the dynamic cross-coupling of the cubic configuration from actuators to sensors of each strut
  • In section 6, 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 here).
  • @@ -848,8 +848,8 @@ stewart = initializeCylindricalPlatforms(stewart, 'Fpr' -
    -

    1.5 Conclusion

    +
    +

    1.5 Conclusion

    @@ -1186,8 +1186,8 @@ FOc = H + MO_B; % Cente

    -
    -

    2.2 Conclusion

    +
    +

    2.2 Conclusion

    @@ -1273,8 +1273,8 @@ We also find that \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) are varyi

    -
    -

    3.2 Conclusion

    +
    +

    3.2 Conclusion

    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}
    -
    -
    -

    local_to_cartesian_coordinates.png @@ -1643,8 +1629,8 @@ This was expected as the mass matrix is not diagonal (the Center of Mass of the

    -
    -

    4.3 Conclusion

    +
    +

    4.3 Conclusion

    @@ -1826,8 +1812,8 @@ And we identify the dynamics from the actuator forces \(\tau_{i}\) to the relati

    -
    -

    5.3 Conclusion

    +
    +

    5.3 Conclusion

    @@ -1998,7 +1984,7 @@ stewart.platform_M.Mb = Mb;

    Author: Dehaeze Thomas

    -

    Created: 2020-02-13 jeu. 16:46

    +

    Created: 2020-02-14 ven. 14:11

    diff --git a/docs/static-analysis.html b/docs/static-analysis.html index a214046..956be0b 100644 --- a/docs/static-analysis.html +++ b/docs/static-analysis.html @@ -4,7 +4,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Stewart Platform - Static Analysis @@ -280,20 +280,6 @@ for the JavaScript code in this tag. What causes the coupling from \(F_i\) to \(X_i\) ?

    -
    -
    \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}
    -
    -
    -

    coupling.png @@ -317,7 +303,7 @@ Thus, the system is uncoupled if \(G\) and \(K\) are diagonal.

    Author: Dehaeze Thomas

    -

    Created: 2020-02-11 mar. 17:52

    +

    Created: 2020-02-14 ven. 14:11

    diff --git a/docs/stewart-architecture.html b/docs/stewart-architecture.html index e9bbf94..35b2bae 100644 --- a/docs/stewart-architecture.html +++ b/docs/stewart-architecture.html @@ -4,7 +4,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Stewart Platform - Definition of the Architecture @@ -297,85 +297,85 @@ for the JavaScript code in this tag.
    -
    -

    Documentation

    -
    +
    +

    Documentation

    +
    - -
    -

    Function description

    -
    +
    +

    Function description

    +
    -
    -

    Documentation

    -
    +
    +

    Documentation

    +
    - -
    -

    Function description

    -
    +
    +

    Function description

    +
    -
    -

    Optional Parameters

    -
    +
    +

    Optional Parameters

    +
    arguments
         stewart
    @@ -985,9 +985,9 @@ FO_A = MO_B + FO_M; % Po
     
    -
    -

    Populate the stewart structure

    -
    +
    +

    Populate the stewart structure

    +
    stewart.geometry.H      = H;
     stewart.geometry.FO_M   = FO_M;
    @@ -1011,9 +1011,9 @@ This Matlab function is accessible 
    -

    Documentation

    -
    + -
    -

    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

    +
    -
    -

    Function description

    -
    +
    +

    Function description

    +
    -
    -

    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

    +
    -
    -

    Optional Parameters

    -
    +
    +

    Optional Parameters

    +
    -
    -

    Populate the stewart structure

    -
    +
    +

    Populate the stewart structure

    +
    stewart.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 structure

    +
    stewart.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

    +
    -
    -

    Documentation

    -
    +
    +

    Documentation

    +

    piezoelectric_stack.jpg @@ -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

    +
    -
    -

    Function description

    -
    +
    +

    Function description

    +
    -
    -

    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

    +
    -
    -

    Optional Parameters

    -
    +
    +

    Optional Parameters

    +
    -
    -

    Check the stewart structure elements

    -
    +
    +

    Check the stewart structure elements

    +
    assert(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 mobil
     

    Author: Dehaeze Thomas

    -

    Created: 2020-02-13 jeu. 15:47

    +

    Created: 2020-02-14 ven. 14:11

    diff --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);