diff --git a/nass-geometry.org b/nass-geometry.org index 23bf414..69e471f 100644 --- a/nass-geometry.org +++ b/nass-geometry.org @@ -364,8 +364,8 @@ ylim([1e-10, 2e-3]) #+end_src -** TODO [#B] Change review based on christophe's comments -SCHEDULED: <2025-04-04 Fri> +** DONE [#B] Change review based on christophe's comments +CLOSED: [2025-04-04 Fri 21:11] SCHEDULED: <2025-04-04 Fri> - [-] make sure that all papers are cited - [X] geng93_six_degree_of_freed_activ @@ -713,7 +713,7 @@ Compute: \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} @@ -731,12 +731,12 @@ This is wrong, check from matlab script \begin{equation} - \bm{K} = k \bm{J}^T \bm{J} = + \bm{K} = k \bm{J}^{\intercal} \bm{J} = k \left[ \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 - \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} \right] \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{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}}_2}^T & ({}^A\bm{b}_2 \times {}^A\hat{\bm{s}}_2)^T \\ - {{}^A\hat{\bm{s}}_3}^T & ({}^A\bm{b}_3 \times {}^A\hat{\bm{s}}_3)^T \\ - {{}^A\hat{\bm{s}}_4}^T & ({}^A\bm{b}_4 \times {}^A\hat{\bm{s}}_4)^T \\ - {{}^A\hat{\bm{s}}_5}^T & ({}^A\bm{b}_5 \times {}^A\hat{\bm{s}}_5)^T \\ - {{}^A\hat{\bm{s}}_6}^T & ({}^A\bm{b}_6 \times {}^A\hat{\bm{s}}_6)^T + {{}^A\hat{\bm{s}}_1}^{\intercal} & ({}^A\bm{b}_1 \times {}^A\hat{\bm{s}}_1)^{\intercal} \\ + {{}^A\hat{\bm{s}}_2}^{\intercal} & ({}^A\bm{b}_2 \times {}^A\hat{\bm{s}}_2)^{\intercal} \\ + {{}^A\hat{\bm{s}}_3}^{\intercal} & ({}^A\bm{b}_3 \times {}^A\hat{\bm{s}}_3)^{\intercal} \\ + {{}^A\hat{\bm{s}}_4}^{\intercal} & ({}^A\bm{b}_4 \times {}^A\hat{\bm{s}}_4)^{\intercal} \\ + {{}^A\hat{\bm{s}}_5}^{\intercal} & ({}^A\bm{b}_5 \times {}^A\hat{\bm{s}}_5)^{\intercal} \\ + {{}^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{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]]. \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} 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. \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[ \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 - \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} \right] \end{equation} **** 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. -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. 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,7 +1658,7 @@ Under very specific conditions, the equations of motion in the Cartesian frame, These conditions are studied in Section ref:ssec:detail_kinematics_cubic_dynamic. \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} In the frame of the struts, the equations of motion eqref:eq:detail_kinematics_transfer_function_struts are well decoupled at low frequency. diff --git a/nass-geometry.pdf b/nass-geometry.pdf index 208de1c..112f5c0 100644 Binary files a/nass-geometry.pdf and b/nass-geometry.pdf differ diff --git a/nass-geometry.tex b/nass-geometry.tex index a69e341..c386d71 100644 --- a/nass-geometry.tex +++ b/nass-geometry.tex @@ -1,4 +1,4 @@ -% Created 2025-04-04 Fri 17:48 +% Created 2025-04-07 Mon 14:36 % Intended LaTeX compiler: pdflatex \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} 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}. \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. 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}. 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{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}}_2}^T & ({}^A\bm{b}_2 \times {}^A\hat{\bm{s}}_2)^T \\ - {{}^A\hat{\bm{s}}_3}^T & ({}^A\bm{b}_3 \times {}^A\hat{\bm{s}}_3)^T \\ - {{}^A\hat{\bm{s}}_4}^T & ({}^A\bm{b}_4 \times {}^A\hat{\bm{s}}_4)^T \\ - {{}^A\hat{\bm{s}}_5}^T & ({}^A\bm{b}_5 \times {}^A\hat{\bm{s}}_5)^T \\ - {{}^A\hat{\bm{s}}_6}^T & ({}^A\bm{b}_6 \times {}^A\hat{\bm{s}}_6)^T + {{}^A\hat{\bm{s}}_1}^{\intercal} & ({}^A\bm{b}_1 \times {}^A\hat{\bm{s}}_1)^{\intercal} \\ + {{}^A\hat{\bm{s}}_2}^{\intercal} & ({}^A\bm{b}_2 \times {}^A\hat{\bm{s}}_2)^{\intercal} \\ + {{}^A\hat{\bm{s}}_3}^{\intercal} & ({}^A\bm{b}_3 \times {}^A\hat{\bm{s}}_3)^{\intercal} \\ + {{}^A\hat{\bm{s}}_4}^{\intercal} & ({}^A\bm{b}_4 \times {}^A\hat{\bm{s}}_4)^{\intercal} \\ + {{}^A\hat{\bm{s}}_5}^{\intercal} & ({}^A\bm{b}_5 \times {}^A\hat{\bm{s}}_5)^{\intercal} \\ + {{}^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{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}. \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} 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}. \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[ \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 - \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} \right] \end{equation} \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. -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}. 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,7 +323,7 @@ Under very specific conditions, the equations of motion in the Cartesian frame, These conditions are studied in Section \ref{ssec:detail_kinematics_cubic_dynamic}. \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} In the frame of the struts, the equations of motion \eqref{eq:detail_kinematics_transfer_function_struts} are well decoupled at low frequency.