Modify transpose notation

This commit is contained in:
Thomas Dehaeze 2025-04-07 14:36:23 +02:00
parent de4b8bc88c
commit 3f53a5977c
6 changed files with 43 additions and 43 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -51,7 +51,7 @@
<path d="M 5.265625 -0.671875 C 5.265625 -0.734375 5.21875 -0.734375 5.1875 -0.734375 C 5.078125 -0.734375 4.796875 -0.625 4.65625 -0.421875 C 4.4375 -0.421875 4.171875 -0.421875 4.046875 -1.046875 L 3.84375 -2.453125 C 3.84375 -2.46875 3.859375 -2.484375 3.875 -2.5 L 4.109375 -2.625 C 6.171875 -3.75 6.171875 -4.0625 6.171875 -4.296875 C 6.171875 -4.5 6.0625 -4.703125 5.78125 -4.703125 C 5.546875 -4.703125 5.21875 -4.46875 5.21875 -4.34375 C 5.21875 -4.296875 5.25 -4.296875 5.296875 -4.28125 C 5.46875 -4.265625 5.53125 -4.109375 5.53125 -3.984375 C 5.53125 -3.84375 5.53125 -3.75 4.90625 -3.375 C 4.765625 -3.28125 4.625 -3.203125 3.8125 -2.75 C 3.71875 -3.265625 3.671875 -3.8125 3.609375 -4.046875 C 3.484375 -4.609375 3.234375 -4.703125 2.921875 -4.703125 C 2.15625 -4.703125 1.765625 -4.203125 1.765625 -4.03125 C 1.765625 -3.96875 1.8125 -3.96875 1.84375 -3.96875 C 1.96875 -3.96875 2.25 -4.09375 2.375 -4.28125 C 2.609375 -4.28125 2.84375 -4.28125 2.984375 -3.71875 L 3.15625 -2.40625 C 2.765625 -2.203125 2.046875 -1.8125 1.625 -1.5625 C 0.53125 -0.890625 0.484375 -0.625 0.484375 -0.40625 C 0.484375 -0.203125 0.59375 0 0.875 0 C 1.078125 0 1.4375 -0.234375 1.4375 -0.359375 C 1.4375 -0.40625 1.390625 -0.421875 1.34375 -0.421875 C 1.1875 -0.4375 1.125 -0.5625 1.125 -0.71875 C 1.125 -0.875 1.125 -0.96875 1.96875 -1.46875 L 3.203125 -2.140625 C 3.296875 -1.609375 3.375 -0.921875 3.390625 -0.765625 C 3.5 -0.3125 3.609375 0 4.109375 0 C 4.859375 0 5.265625 -0.484375 5.265625 -0.671875 Z M 5.265625 -0.671875 "/> <path d="M 5.265625 -0.671875 C 5.265625 -0.734375 5.21875 -0.734375 5.1875 -0.734375 C 5.078125 -0.734375 4.796875 -0.625 4.65625 -0.421875 C 4.4375 -0.421875 4.171875 -0.421875 4.046875 -1.046875 L 3.84375 -2.453125 C 3.84375 -2.46875 3.859375 -2.484375 3.875 -2.5 L 4.109375 -2.625 C 6.171875 -3.75 6.171875 -4.0625 6.171875 -4.296875 C 6.171875 -4.5 6.0625 -4.703125 5.78125 -4.703125 C 5.546875 -4.703125 5.21875 -4.46875 5.21875 -4.34375 C 5.21875 -4.296875 5.25 -4.296875 5.296875 -4.28125 C 5.46875 -4.265625 5.53125 -4.109375 5.53125 -3.984375 C 5.53125 -3.84375 5.53125 -3.75 4.90625 -3.375 C 4.765625 -3.28125 4.625 -3.203125 3.8125 -2.75 C 3.71875 -3.265625 3.671875 -3.8125 3.609375 -4.046875 C 3.484375 -4.609375 3.234375 -4.703125 2.921875 -4.703125 C 2.15625 -4.703125 1.765625 -4.203125 1.765625 -4.03125 C 1.765625 -3.96875 1.8125 -3.96875 1.84375 -3.96875 C 1.96875 -3.96875 2.25 -4.09375 2.375 -4.28125 C 2.609375 -4.28125 2.84375 -4.28125 2.984375 -3.71875 L 3.15625 -2.40625 C 2.765625 -2.203125 2.046875 -1.8125 1.625 -1.5625 C 0.53125 -0.890625 0.484375 -0.625 0.484375 -0.40625 C 0.484375 -0.203125 0.59375 0 0.875 0 C 1.078125 0 1.4375 -0.234375 1.4375 -0.359375 C 1.4375 -0.40625 1.390625 -0.421875 1.34375 -0.421875 C 1.1875 -0.4375 1.125 -0.5625 1.125 -0.71875 C 1.125 -0.875 1.125 -0.96875 1.96875 -1.46875 L 3.203125 -2.140625 C 3.296875 -1.609375 3.375 -0.921875 3.390625 -0.765625 C 3.5 -0.3125 3.609375 0 4.109375 0 C 4.859375 0 5.265625 -0.484375 5.265625 -0.671875 Z M 5.265625 -0.671875 "/>
</g> </g>
<g id="glyph-3-0"> <g id="glyph-3-0">
<path d="M 5.25 -3.25 L 5.4375 -4.5625 C 5.4375 -4.65625 5.359375 -4.65625 5.234375 -4.65625 L 1 -4.65625 C 0.828125 -4.65625 0.8125 -4.65625 0.765625 -4.515625 L 0.328125 -3.296875 C 0.328125 -3.265625 0.296875 -3.203125 0.296875 -3.171875 C 0.296875 -3.140625 0.3125 -3.078125 0.40625 -3.078125 C 0.5 -3.078125 0.515625 -3.109375 0.5625 -3.234375 C 0.953125 -4.34375 1.1875 -4.40625 2.234375 -4.40625 L 2.515625 -4.40625 C 2.734375 -4.40625 2.734375 -4.40625 2.734375 -4.34375 C 2.734375 -4.34375 2.734375 -4.296875 2.703125 -4.203125 L 1.796875 -0.578125 C 1.734375 -0.3125 1.71875 -0.25 1 -0.25 C 0.75 -0.25 0.6875 -0.25 0.6875 -0.09375 C 0.6875 -0.078125 0.703125 0 0.796875 0 C 1 0 1.203125 -0.015625 1.390625 -0.015625 L 1.984375 -0.03125 L 2.609375 -0.015625 C 2.796875 -0.015625 3 0 3.1875 0 C 3.234375 0 3.34375 0 3.34375 -0.15625 C 3.34375 -0.25 3.265625 -0.25 3.0625 -0.25 C 2.921875 -0.25 2.796875 -0.25 2.65625 -0.265625 C 2.421875 -0.28125 2.40625 -0.3125 2.40625 -0.390625 C 2.40625 -0.4375 2.40625 -0.453125 2.4375 -0.546875 L 3.34375 -4.171875 C 3.390625 -4.375 3.40625 -4.390625 3.5625 -4.40625 C 3.59375 -4.40625 3.84375 -4.40625 3.96875 -4.40625 C 4.390625 -4.40625 4.578125 -4.40625 4.75 -4.359375 C 5.0625 -4.265625 5.078125 -4.0625 5.078125 -3.8125 C 5.078125 -3.703125 5.078125 -3.609375 5.015625 -3.25 L 5.015625 -3.171875 C 5.015625 -3.109375 5.0625 -3.078125 5.125 -3.078125 C 5.234375 -3.078125 5.25 -3.140625 5.25 -3.25 Z M 5.25 -3.25 "/> <path d="M 2.5625 -2.296875 L 3.484375 -2.296875 C 3.578125 -2.296875 3.90625 -2.296875 3.90625 -2.625 C 3.90625 -2.96875 3.578125 -2.96875 3.484375 -2.96875 L 0.96875 -2.96875 C 0.875 -2.96875 0.53125 -2.96875 0.53125 -2.625 C 0.53125 -2.296875 0.875 -2.296875 0.96875 -2.296875 L 1.890625 -2.296875 L 1.890625 1.046875 C 1.890625 1.140625 1.890625 1.46875 2.21875 1.46875 C 2.5625 1.46875 2.5625 1.125 2.5625 1.046875 Z M 2.5625 -2.296875 "/>
</g> </g>
<g id="glyph-4-0"> <g id="glyph-4-0">
<path d="M 3.265625 0 L 3.265625 -0.25 L 3 -0.25 C 2.3125 -0.25 2.3125 -0.34375 2.3125 -0.5625 L 2.3125 -4.375 C 2.3125 -4.5625 2.296875 -4.578125 2.109375 -4.578125 C 1.65625 -4.140625 1.03125 -4.140625 0.75 -4.140625 L 0.75 -3.890625 C 0.921875 -3.890625 1.375 -3.890625 1.75 -4.078125 L 1.75 -0.5625 C 1.75 -0.34375 1.75 -0.25 1.0625 -0.25 L 0.796875 -0.25 L 0.796875 0 L 2.03125 -0.03125 Z M 3.265625 0 "/> <path d="M 3.265625 0 L 3.265625 -0.25 L 3 -0.25 C 2.3125 -0.25 2.3125 -0.34375 2.3125 -0.5625 L 2.3125 -4.375 C 2.3125 -4.5625 2.296875 -4.578125 2.109375 -4.578125 C 1.65625 -4.140625 1.03125 -4.140625 0.75 -4.140625 L 0.75 -3.890625 C 0.921875 -3.890625 1.375 -3.890625 1.75 -4.078125 L 1.75 -0.5625 C 1.75 -0.34375 1.75 -0.25 1.0625 -0.25 L 0.796875 -0.25 L 0.796875 0 L 2.03125 -0.03125 Z M 3.265625 0 "/>
@ -102,13 +102,13 @@
</g> </g>
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -17.008591 -14.171476 L 17.009728 -14.171476 L 17.009728 14.171857 L -17.008591 14.171857 Z M -17.008591 -14.171476 " transform="matrix(0.989127, 0, 0, -0.989127, 96.261156, 32.611517)"/> <path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -17.008591 -14.171476 L 17.009728 -14.171476 L 17.009728 14.171857 L -17.008591 14.171857 Z M -17.008591 -14.171476 " transform="matrix(0.989127, 0, 0, -0.989127, 96.261156, 32.611517)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> <g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-1-0" x="86.470777" y="36.756948"/> <use xlink:href="#glyph-1-0" x="87.097884" y="36.535383"/>
</g> </g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> <g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-2-0" x="93.683491" y="33.180265"/> <use xlink:href="#glyph-2-0" x="94.310598" y="32.9587"/>
</g> </g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> <g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-3-0" x="99.842785" y="33.180265"/> <use xlink:href="#glyph-3-0" x="100.469799" y="32.9587"/>
</g> </g>
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 46.352207 -14.171476 L 80.366577 -14.171476 L 80.366577 14.171857 L 46.352207 14.171857 Z M 46.352207 -14.171476 " transform="matrix(0.989127, 0, 0, -0.989127, 96.261156, 32.611517)"/> <path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M 46.352207 -14.171476 L 80.366577 -14.171476 L 80.366577 14.171857 L 46.352207 14.171857 Z M 46.352207 -14.171476 " transform="matrix(0.989127, 0, 0, -0.989127, 96.261156, 32.611517)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> <g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
@ -122,7 +122,7 @@
<use xlink:href="#glyph-2-0" x="219.916866" y="33.046733"/> <use xlink:href="#glyph-2-0" x="219.916866" y="33.046733"/>
</g> </g>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> <g fill="rgb(0%, 0%, 0%)" fill-opacity="1">
<use xlink:href="#glyph-4-0" x="226.075171" y="33.046733"/> <use xlink:href="#glyph-4-0" x="226.076067" y="33.046733"/>
</g> </g>
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -80.36544 -14.171476 L -46.35107 -14.171476 L -46.35107 14.171857 L -80.36544 14.171857 Z M -80.36544 -14.171476 " transform="matrix(0.989127, 0, 0, -0.989127, 96.261156, 32.611517)"/> <path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" stroke-width="0.99628" stroke-linecap="butt" stroke-linejoin="miter" stroke="rgb(0%, 0%, 0%)" stroke-opacity="1" stroke-miterlimit="10" d="M -80.36544 -14.171476 L -46.35107 -14.171476 L -46.35107 14.171857 L -80.36544 14.171857 Z M -80.36544 -14.171476 " transform="matrix(0.989127, 0, 0, -0.989127, 96.261156, 32.611517)"/>
<g fill="rgb(0%, 0%, 0%)" fill-opacity="1"> <g fill="rgb(0%, 0%, 0%)" fill-opacity="1">

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -364,8 +364,8 @@ ylim([1e-10, 2e-3])
#+end_src #+end_src
** TODO [#B] Change review based on christophe's comments ** DONE [#B] Change review based on christophe's comments
SCHEDULED: <2025-04-04 Fri> CLOSED: [2025-04-04 Fri 21:11] SCHEDULED: <2025-04-04 Fri>
- [-] make sure that all papers are cited - [-] make sure that all papers are cited
- [X] geng93_six_degree_of_freed_activ - [X] geng93_six_degree_of_freed_activ
@ -713,7 +713,7 @@ Compute:
\begin{equation} \begin{equation}
\sum_{i = 1}^{6} \hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^T = 2 \bm{I}_3 \sum_{i = 1}^{6} \hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^{\intercal} = 2 \bm{I}_3
\end{equation} \end{equation}
@ -731,12 +731,12 @@ This is wrong, check from matlab script
\begin{equation} \begin{equation}
\bm{K} = k \bm{J}^T \bm{J} = \bm{K} = k \bm{J}^{\intercal} \bm{J} =
k \left[ k \left[
\begin{array}{c|c} \begin{array}{c|c}
\Sigma_{i = 0}^{6} \hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^T & \Sigma_{i = 0}^{6} \bm{\hat{s}}_i \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^T \\ \Sigma_{i = 0}^{6} \hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^{\intercal} & \Sigma_{i = 0}^{6} \bm{\hat{s}}_i \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^{\intercal} \\
\hline \hline
\Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot \hat{\bm{s}}_i^T & \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^T\\ \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot \hat{\bm{s}}_i^{\intercal} & \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^{\intercal}\\
\end{array} \end{array}
\right] \right]
\end{equation} \end{equation}
@ -1216,12 +1216,12 @@ The analysis is significantly simplified when considering small motions, as the
\begin{equation}\label{eq:detail_kinematics_jacobian} \begin{equation}\label{eq:detail_kinematics_jacobian}
\begin{bmatrix} \delta l_1 \\ \delta l_2 \\ \delta l_3 \\ \delta l_4 \\ \delta l_5 \\ \delta l_6 \end{bmatrix} = \underbrace{\begin{bmatrix} \begin{bmatrix} \delta l_1 \\ \delta l_2 \\ \delta l_3 \\ \delta l_4 \\ \delta l_5 \\ \delta l_6 \end{bmatrix} = \underbrace{\begin{bmatrix}
{{}^A\hat{\bm{s}}_1}^T & ({}^A\bm{b}_1 \times {}^A\hat{\bm{s}}_1)^T \\ {{}^A\hat{\bm{s}}_1}^{\intercal} & ({}^A\bm{b}_1 \times {}^A\hat{\bm{s}}_1)^{\intercal} \\
{{}^A\hat{\bm{s}}_2}^T & ({}^A\bm{b}_2 \times {}^A\hat{\bm{s}}_2)^T \\ {{}^A\hat{\bm{s}}_2}^{\intercal} & ({}^A\bm{b}_2 \times {}^A\hat{\bm{s}}_2)^{\intercal} \\
{{}^A\hat{\bm{s}}_3}^T & ({}^A\bm{b}_3 \times {}^A\hat{\bm{s}}_3)^T \\ {{}^A\hat{\bm{s}}_3}^{\intercal} & ({}^A\bm{b}_3 \times {}^A\hat{\bm{s}}_3)^{\intercal} \\
{{}^A\hat{\bm{s}}_4}^T & ({}^A\bm{b}_4 \times {}^A\hat{\bm{s}}_4)^T \\ {{}^A\hat{\bm{s}}_4}^{\intercal} & ({}^A\bm{b}_4 \times {}^A\hat{\bm{s}}_4)^{\intercal} \\
{{}^A\hat{\bm{s}}_5}^T & ({}^A\bm{b}_5 \times {}^A\hat{\bm{s}}_5)^T \\ {{}^A\hat{\bm{s}}_5}^{\intercal} & ({}^A\bm{b}_5 \times {}^A\hat{\bm{s}}_5)^{\intercal} \\
{{}^A\hat{\bm{s}}_6}^T & ({}^A\bm{b}_6 \times {}^A\hat{\bm{s}}_6)^T {{}^A\hat{\bm{s}}_6}^{\intercal} & ({}^A\bm{b}_6 \times {}^A\hat{\bm{s}}_6)^{\intercal}
\end{bmatrix}}_{\bm{J}} \begin{bmatrix} \delta x \\ \delta y \\ \delta z \\ \delta \theta_x \\ \delta \theta_y \\ \delta \theta_z \end{bmatrix} \end{bmatrix}}_{\bm{J}} \begin{bmatrix} \delta x \\ \delta y \\ \delta z \\ \delta \theta_x \\ \delta \theta_y \\ \delta \theta_z \end{bmatrix}
\end{equation} \end{equation}
@ -1606,28 +1606,28 @@ The contribution of joints stiffness is not considered here, as the joints were
However, theoretical frameworks for evaluating flexible joint contribution to the stiffness matrix have been established in the literature [[cite:&mcinroy00_desig_contr_flexur_joint_hexap;&mcinroy02_model_desig_flexur_joint_stewar]]. However, theoretical frameworks for evaluating flexible joint contribution to the stiffness matrix have been established in the literature [[cite:&mcinroy00_desig_contr_flexur_joint_hexap;&mcinroy02_model_desig_flexur_joint_stewar]].
\begin{equation}\label{eq:detail_kinematics_stiffness_matrix} \begin{equation}\label{eq:detail_kinematics_stiffness_matrix}
\bm{K} = \bm{J}^T \bm{\mathcal{K}} \bm{J} \bm{K} = \bm{J}^{\intercal} \bm{\mathcal{K}} \bm{J}
\end{equation} \end{equation}
It is assumed that the stiffness of all struts is the same: $\bm{\mathcal{K}} = k \cdot \mathbf{I}_6$. It is assumed that the stiffness of all struts is the same: $\bm{\mathcal{K}} = k \cdot \mathbf{I}_6$.
In that case, the obtained stiffness matrix linearly depends on the strut stiffness $k$, and is structured as shown in equation eqref:eq:detail_kinematics_stiffness_matrix_simplified. In that case, the obtained stiffness matrix linearly depends on the strut stiffness $k$, and is structured as shown in equation eqref:eq:detail_kinematics_stiffness_matrix_simplified.
\begin{equation}\label{eq:detail_kinematics_stiffness_matrix_simplified} \begin{equation}\label{eq:detail_kinematics_stiffness_matrix_simplified}
\bm{K} = k \bm{J}^T \bm{J} = \bm{K} = k \bm{J}^{\intercal} \bm{J} =
k \left[ k \left[
\begin{array}{c|c} \begin{array}{c|c}
\Sigma_{i = 0}^{6} \hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^T & \Sigma_{i = 0}^{6} \bm{\hat{s}}_i \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^T \\ \Sigma_{i = 0}^{6} \hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^{\intercal} & \Sigma_{i = 0}^{6} \bm{\hat{s}}_i \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^{\intercal} \\
\hline \hline
\Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot \hat{\bm{s}}_i^T & \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^T\\ \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot \hat{\bm{s}}_i^{\intercal} & \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^{\intercal}\\
\end{array} \end{array}
\right] \right]
\end{equation} \end{equation}
**** Translation Stiffness **** Translation Stiffness
As shown by equation eqref:eq:detail_kinematics_stiffness_matrix_simplified, the translation stiffnesses (the $3 \times 3$ top left terms of the stiffness matrix) only depend on the orientation of the struts and not their location: $\hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^T$. As shown by equation eqref:eq:detail_kinematics_stiffness_matrix_simplified, the translation stiffnesses (the $3 \times 3$ top left terms of the stiffness matrix) only depend on the orientation of the struts and not their location: $\hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^{\intercal}$.
In the extreme case where all struts are vertical ($s_i = [0\ 0\ 1]$), a vertical stiffness of $6k$ is achieved, but with null stiffness in the horizontal directions. In the extreme case where all struts are vertical ($s_i = [0\ 0\ 1]$), a vertical stiffness of $6k$ is achieved, but with null stiffness in the horizontal directions.
If two struts are aligned with the X axis, two struts with the Y axis, and two struts with the Z axis, then $\hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^T = 2 \bm{I}_3$, resulting in well-distributed stiffness along all directions. If two struts are aligned with the X axis, two struts with the Y axis, and two struts with the Z axis, then $\hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^{\intercal} = 2 \bm{I}_3$, resulting in well-distributed stiffness along all directions.
This configuration corresponds to the cubic architecture presented in Section ref:sec:detail_kinematics_cubic. This configuration corresponds to the cubic architecture presented in Section ref:sec:detail_kinematics_cubic.
When the struts are oriented more vertically, as shown in Figure ref:fig:detail_kinematics_stewart_mobility_vert_struts, the vertical stiffness increases while the horizontal stiffness decreases. When the struts are oriented more vertically, as shown in Figure ref:fig:detail_kinematics_stewart_mobility_vert_struts, the vertical stiffness increases while the horizontal stiffness decreases.
@ -1658,14 +1658,14 @@ Under very specific conditions, the equations of motion in the Cartesian frame,
These conditions are studied in Section ref:ssec:detail_kinematics_cubic_dynamic. These conditions are studied in Section ref:ssec:detail_kinematics_cubic_dynamic.
\begin{equation}\label{eq:detail_kinematics_transfer_function_cart} \begin{equation}\label{eq:detail_kinematics_transfer_function_cart}
\frac{{\mathcal{X}}}{\bm{\mathcal{F}}}(s) = ( \bm{M} s^2 + \bm{J}^{T} \bm{\mathcal{C}} \bm{J} s + \bm{J}^{T} \bm{\mathcal{K}} \bm{J} )^{-1} \frac{{\mathcal{X}}}{\bm{\mathcal{F}}}(s) = ( \bm{M} s^2 + \bm{J}^{\intercal} \bm{\mathcal{C}} \bm{J} s + \bm{J}^{\intercal} \bm{\mathcal{K}} \bm{J} )^{-1}
\end{equation} \end{equation}
In the frame of the struts, the equations of motion eqref:eq:detail_kinematics_transfer_function_struts are well decoupled at low frequency. In the frame of the struts, the equations of motion eqref:eq:detail_kinematics_transfer_function_struts are well decoupled at low frequency.
This is why most Stewart platforms are controlled in the frame of the struts: below the resonance frequency, the system is well decoupled and SISO control may be applied for each strut, independently of the payload being used. This is why most Stewart platforms are controlled in the frame of the struts: below the resonance frequency, the system is well decoupled and SISO control may be applied for each strut, independently of the payload being used.
\begin{equation}\label{eq:detail_kinematics_transfer_function_struts} \begin{equation}\label{eq:detail_kinematics_transfer_function_struts}
\frac{\bm{\mathcal{L}}}{\bm{f}}(s) = ( \bm{J}^{-T} \bm{M} \bm{J}^{-1} s^2 + \bm{\mathcal{C}} + \bm{\mathcal{K}} )^{-1} \frac{\bm{\mathcal{L}}}{\bm{f}}(s) = ( \bm{J}^{-\intercal} \bm{M} \bm{J}^{-1} s^2 + \bm{\mathcal{C}} + \bm{\mathcal{K}} )^{-1}
\end{equation} \end{equation}
Coupling between sensors (force sensors, relative position sensors or inertial sensors) in different struts may also be important for decentralized control. Coupling between sensors (force sensors, relative position sensors or inertial sensors) in different struts may also be important for decentralized control.
@ -2274,7 +2274,7 @@ When relative motion sensors are integrated in each strut (measuring $\bm{\mathc
#+begin_src latex :file detail_kinematics_centralized_control.pdf #+begin_src latex :file detail_kinematics_centralized_control.pdf
\begin{tikzpicture} \begin{tikzpicture}
\node[block] (Jt) at (0, 0) {$\bm{J}^{-T}$}; \node[block] (Jt) at (0, 0) {$\bm{J}^{-\intercal}$};
\node[block, right= of Jt] (G) {$\bm{G}$}; \node[block, right= of Jt] (G) {$\bm{G}$};
\node[block, right= of G] (J) {$\bm{J}^{-1}$}; \node[block, right= of G] (J) {$\bm{J}^{-1}$};
\node[block, left= of Jt] (Kx) {$\bm{K}_{\mathcal{X}}$}; \node[block, left= of Jt] (Kx) {$\bm{K}_{\mathcal{X}}$};

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2025-04-04 Fri 17:48 % Created 2025-04-07 Mon 17:09
% Intended LaTeX compiler: pdflatex % Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt} \documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
@ -37,7 +37,7 @@ Finally, Section \ref{sec:detail_kinematics_nano_hexapod} presents the optimized
\label{sec:detail_kinematics_stewart_review} \label{sec:detail_kinematics_stewart_review}
The first parallel platform similar to the Stewart platform was built in 1954 by Gough \cite{gough62_univer_tyre_test_machin}, for a tyre test machine (shown in Figure \ref{fig:detail_geometry_gough_paper}). The first parallel platform similar to the Stewart platform was built in 1954 by Gough \cite{gough62_univer_tyre_test_machin}, for a tyre test machine (shown in Figure \ref{fig:detail_geometry_gough_paper}).
Subsequently, Stewart proposed a similar design in a 1965 publication \cite{stewart65_platf_with_six_degrees_freed}, for a flight simulator (shown in Figure \ref{fig:detail_geometry_stewart_flight_simulator}). Subsequently, Stewart proposed a similar design for a flight simulator (shown in Figure \ref{fig:detail_geometry_stewart_flight_simulator}) in a 1965 publication \cite{stewart65_platf_with_six_degrees_freed}.
Since then, the Stewart platform (sometimes referred to as the Stewart-Gough platform) has been utilized across diverse applications \cite{dasgupta00_stewar_platf_manip}, including large telescopes \cite{kazezkhan14_dynam_model_stewar_platf_nansh_radio_teles,yun19_devel_isotr_stewar_platf_teles_secon_mirror}, machine tools \cite{russo24_review_paral_kinem_machin_tools}, and Synchrotron instrumentation \cite{marion04_hexap_esrf,villar18_nanop_esrf_id16a_nano_imagin_beaml}. Since then, the Stewart platform (sometimes referred to as the Stewart-Gough platform) has been utilized across diverse applications \cite{dasgupta00_stewar_platf_manip}, including large telescopes \cite{kazezkhan14_dynam_model_stewar_platf_nansh_radio_teles,yun19_devel_isotr_stewar_platf_teles_secon_mirror}, machine tools \cite{russo24_review_paral_kinem_machin_tools}, and Synchrotron instrumentation \cite{marion04_hexap_esrf,villar18_nanop_esrf_id16a_nano_imagin_beaml}.
\begin{figure}[htbp] \begin{figure}[htbp]
@ -65,7 +65,7 @@ Long stroke Stewart platforms are not addressed here as their design presents di
In terms of actuation, mainly two types are used: voice coil actuators and piezoelectric actuators. In terms of actuation, mainly two types are used: voice coil actuators and piezoelectric actuators.
Voice coil actuators, providing stroke ranges from \(0.5\,mm\) to \(10\,mm\), are commonly implemented in cubic architectures (as illustrated in Figures \ref{fig:detail_kinematics_jpl}, \ref{fig:detail_kinematics_uw_gsp} and \ref{fig:detail_kinematics_pph}) and are mainly used for vibration isolation \cite{spanos95_soft_activ_vibrat_isolat,rahman98_multiax,thayer98_stewar,mcinroy99_dynam,preumont07_six_axis_singl_stage_activ}. Voice coil actuators, providing stroke ranges from \(0.5\,mm\) to \(10\,mm\), are commonly implemented in cubic architectures (as illustrated in Figures \ref{fig:detail_kinematics_jpl}, \ref{fig:detail_kinematics_uw_gsp} and \ref{fig:detail_kinematics_pph}) and are mainly used for vibration isolation \cite{spanos95_soft_activ_vibrat_isolat,rahman98_multiax,thayer98_stewar,mcinroy99_dynam,preumont07_six_axis_singl_stage_activ}.
For applications requiring smaller stroke (typically smaller than \(500\,\mu m\)), piezoelectric actuators present an interesting alternative, as shown in \cite{agrawal04_algor_activ_vibrat_isolat_spacec,furutani04_nanom_cuttin_machin_using_stewar,yang19_dynam_model_decoup_contr_flexib}. For applications requiring short stroke (typically smaller than \(500\,\mu m\)), piezoelectric actuators present an interesting alternative, as shown in \cite{agrawal04_algor_activ_vibrat_isolat_spacec,furutani04_nanom_cuttin_machin_using_stewar,yang19_dynam_model_decoup_contr_flexib}.
Examples of piezoelectric-actuated Stewart platforms are presented in Figures \ref{fig:detail_kinematics_ulb_pz}, \ref{fig:detail_kinematics_uqp} and \ref{fig:detail_kinematics_yang19}. Examples of piezoelectric-actuated Stewart platforms are presented in Figures \ref{fig:detail_kinematics_ulb_pz}, \ref{fig:detail_kinematics_uqp} and \ref{fig:detail_kinematics_yang19}.
Although less frequently encountered, magnetostrictive actuators have been successfully implemented in \cite{zhang11_six_dof} (Figure \ref{fig:detail_kinematics_zhang11}). Although less frequently encountered, magnetostrictive actuators have been successfully implemented in \cite{zhang11_six_dof} (Figure \ref{fig:detail_kinematics_zhang11}).
@ -166,12 +166,12 @@ The analysis is significantly simplified when considering small motions, as the
\begin{equation}\label{eq:detail_kinematics_jacobian} \begin{equation}\label{eq:detail_kinematics_jacobian}
\begin{bmatrix} \delta l_1 \\ \delta l_2 \\ \delta l_3 \\ \delta l_4 \\ \delta l_5 \\ \delta l_6 \end{bmatrix} = \underbrace{\begin{bmatrix} \begin{bmatrix} \delta l_1 \\ \delta l_2 \\ \delta l_3 \\ \delta l_4 \\ \delta l_5 \\ \delta l_6 \end{bmatrix} = \underbrace{\begin{bmatrix}
{{}^A\hat{\bm{s}}_1}^T & ({}^A\bm{b}_1 \times {}^A\hat{\bm{s}}_1)^T \\ {{}^A\hat{\bm{s}}_1}^{\intercal} & ({}^A\bm{b}_1 \times {}^A\hat{\bm{s}}_1)^{\intercal} \\
{{}^A\hat{\bm{s}}_2}^T & ({}^A\bm{b}_2 \times {}^A\hat{\bm{s}}_2)^T \\ {{}^A\hat{\bm{s}}_2}^{\intercal} & ({}^A\bm{b}_2 \times {}^A\hat{\bm{s}}_2)^{\intercal} \\
{{}^A\hat{\bm{s}}_3}^T & ({}^A\bm{b}_3 \times {}^A\hat{\bm{s}}_3)^T \\ {{}^A\hat{\bm{s}}_3}^{\intercal} & ({}^A\bm{b}_3 \times {}^A\hat{\bm{s}}_3)^{\intercal} \\
{{}^A\hat{\bm{s}}_4}^T & ({}^A\bm{b}_4 \times {}^A\hat{\bm{s}}_4)^T \\ {{}^A\hat{\bm{s}}_4}^{\intercal} & ({}^A\bm{b}_4 \times {}^A\hat{\bm{s}}_4)^{\intercal} \\
{{}^A\hat{\bm{s}}_5}^T & ({}^A\bm{b}_5 \times {}^A\hat{\bm{s}}_5)^T \\ {{}^A\hat{\bm{s}}_5}^{\intercal} & ({}^A\bm{b}_5 \times {}^A\hat{\bm{s}}_5)^{\intercal} \\
{{}^A\hat{\bm{s}}_6}^T & ({}^A\bm{b}_6 \times {}^A\hat{\bm{s}}_6)^T {{}^A\hat{\bm{s}}_6}^{\intercal} & ({}^A\bm{b}_6 \times {}^A\hat{\bm{s}}_6)^{\intercal}
\end{bmatrix}}_{\bm{J}} \begin{bmatrix} \delta x \\ \delta y \\ \delta z \\ \delta \theta_x \\ \delta \theta_y \\ \delta \theta_z \end{bmatrix} \end{bmatrix}}_{\bm{J}} \begin{bmatrix} \delta x \\ \delta y \\ \delta z \\ \delta \theta_x \\ \delta \theta_y \\ \delta \theta_z \end{bmatrix}
\end{equation} \end{equation}
@ -277,27 +277,27 @@ The contribution of joints stiffness is not considered here, as the joints were
However, theoretical frameworks for evaluating flexible joint contribution to the stiffness matrix have been established in the literature \cite{mcinroy00_desig_contr_flexur_joint_hexap,mcinroy02_model_desig_flexur_joint_stewar}. However, theoretical frameworks for evaluating flexible joint contribution to the stiffness matrix have been established in the literature \cite{mcinroy00_desig_contr_flexur_joint_hexap,mcinroy02_model_desig_flexur_joint_stewar}.
\begin{equation}\label{eq:detail_kinematics_stiffness_matrix} \begin{equation}\label{eq:detail_kinematics_stiffness_matrix}
\bm{K} = \bm{J}^T \bm{\mathcal{K}} \bm{J} \bm{K} = \bm{J}^{\intercal} \bm{\mathcal{K}} \bm{J}
\end{equation} \end{equation}
It is assumed that the stiffness of all struts is the same: \(\bm{\mathcal{K}} = k \cdot \mathbf{I}_6\). It is assumed that the stiffness of all struts is the same: \(\bm{\mathcal{K}} = k \cdot \mathbf{I}_6\).
In that case, the obtained stiffness matrix linearly depends on the strut stiffness \(k\), and is structured as shown in equation \eqref{eq:detail_kinematics_stiffness_matrix_simplified}. In that case, the obtained stiffness matrix linearly depends on the strut stiffness \(k\), and is structured as shown in equation \eqref{eq:detail_kinematics_stiffness_matrix_simplified}.
\begin{equation}\label{eq:detail_kinematics_stiffness_matrix_simplified} \begin{equation}\label{eq:detail_kinematics_stiffness_matrix_simplified}
\bm{K} = k \bm{J}^T \bm{J} = \bm{K} = k \bm{J}^{\intercal} \bm{J} =
k \left[ k \left[
\begin{array}{c|c} \begin{array}{c|c}
\Sigma_{i = 0}^{6} \hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^T & \Sigma_{i = 0}^{6} \bm{\hat{s}}_i \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^T \\ \Sigma_{i = 0}^{6} \hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^{\intercal} & \Sigma_{i = 0}^{6} \bm{\hat{s}}_i \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^{\intercal} \\
\hline \hline
\Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot \hat{\bm{s}}_i^T & \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^T\\ \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot \hat{\bm{s}}_i^{\intercal} & \Sigma_{i = 0}^{6} ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) \cdot ({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i)^{\intercal}\\
\end{array} \end{array}
\right] \right]
\end{equation} \end{equation}
\subsubsection{Translation Stiffness} \subsubsection{Translation Stiffness}
As shown by equation \eqref{eq:detail_kinematics_stiffness_matrix_simplified}, the translation stiffnesses (the \(3 \times 3\) top left terms of the stiffness matrix) only depend on the orientation of the struts and not their location: \(\hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^T\). As shown by equation \eqref{eq:detail_kinematics_stiffness_matrix_simplified}, the translation stiffnesses (the \(3 \times 3\) top left terms of the stiffness matrix) only depend on the orientation of the struts and not their location: \(\hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^{\intercal}\).
In the extreme case where all struts are vertical (\(s_i = [0\ 0\ 1]\)), a vertical stiffness of \(6k\) is achieved, but with null stiffness in the horizontal directions. In the extreme case where all struts are vertical (\(s_i = [0\ 0\ 1]\)), a vertical stiffness of \(6k\) is achieved, but with null stiffness in the horizontal directions.
If two struts are aligned with the X axis, two struts with the Y axis, and two struts with the Z axis, then \(\hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^T = 2 \bm{I}_3\), resulting in well-distributed stiffness along all directions. If two struts are aligned with the X axis, two struts with the Y axis, and two struts with the Z axis, then \(\hat{\bm{s}}_i \cdot \hat{\bm{s}}_i^{\intercal} = 2 \bm{I}_3\), resulting in well-distributed stiffness along all directions.
This configuration corresponds to the cubic architecture presented in Section \ref{sec:detail_kinematics_cubic}. This configuration corresponds to the cubic architecture presented in Section \ref{sec:detail_kinematics_cubic}.
When the struts are oriented more vertically, as shown in Figure \ref{fig:detail_kinematics_stewart_mobility_vert_struts}, the vertical stiffness increases while the horizontal stiffness decreases. When the struts are oriented more vertically, as shown in Figure \ref{fig:detail_kinematics_stewart_mobility_vert_struts}, the vertical stiffness increases while the horizontal stiffness decreases.
@ -323,14 +323,14 @@ Under very specific conditions, the equations of motion in the Cartesian frame,
These conditions are studied in Section \ref{ssec:detail_kinematics_cubic_dynamic}. These conditions are studied in Section \ref{ssec:detail_kinematics_cubic_dynamic}.
\begin{equation}\label{eq:detail_kinematics_transfer_function_cart} \begin{equation}\label{eq:detail_kinematics_transfer_function_cart}
\frac{{\mathcal{X}}}{\bm{\mathcal{F}}}(s) = ( \bm{M} s^2 + \bm{J}^{T} \bm{\mathcal{C}} \bm{J} s + \bm{J}^{T} \bm{\mathcal{K}} \bm{J} )^{-1} \frac{{\mathcal{X}}}{\bm{\mathcal{F}}}(s) = ( \bm{M} s^2 + \bm{J}^{\intercal} \bm{\mathcal{C}} \bm{J} s + \bm{J}^{\intercal} \bm{\mathcal{K}} \bm{J} )^{-1}
\end{equation} \end{equation}
In the frame of the struts, the equations of motion \eqref{eq:detail_kinematics_transfer_function_struts} are well decoupled at low frequency. In the frame of the struts, the equations of motion \eqref{eq:detail_kinematics_transfer_function_struts} are well decoupled at low frequency.
This is why most Stewart platforms are controlled in the frame of the struts: below the resonance frequency, the system is well decoupled and SISO control may be applied for each strut, independently of the payload being used. This is why most Stewart platforms are controlled in the frame of the struts: below the resonance frequency, the system is well decoupled and SISO control may be applied for each strut, independently of the payload being used.
\begin{equation}\label{eq:detail_kinematics_transfer_function_struts} \begin{equation}\label{eq:detail_kinematics_transfer_function_struts}
\frac{\bm{\mathcal{L}}}{\bm{f}}(s) = ( \bm{J}^{-T} \bm{M} \bm{J}^{-1} s^2 + \bm{\mathcal{C}} + \bm{\mathcal{K}} )^{-1} \frac{\bm{\mathcal{L}}}{\bm{f}}(s) = ( \bm{J}^{-\intercal} \bm{M} \bm{J}^{-1} s^2 + \bm{\mathcal{C}} + \bm{\mathcal{K}} )^{-1}
\end{equation} \end{equation}
Coupling between sensors (force sensors, relative position sensors or inertial sensors) in different struts may also be important for decentralized control. Coupling between sensors (force sensors, relative position sensors or inertial sensors) in different struts may also be important for decentralized control.