Rework multi-body model section

This commit is contained in:
Thomas Dehaeze 2025-02-11 09:53:46 +01:00
parent 95b9b460f7
commit f7f1e816fc
3 changed files with 141 additions and 149 deletions

View File

@ -260,6 +260,9 @@ It should be the exact model reference that will be included in the NASS model (
- [ ] Make sure they are all defined in correct order - [ ] Make sure they are all defined in correct order
- [ ] Make sure all vectors and matrices are bold - [ ] Make sure all vectors and matrices are bold
** TODO [#A] Should I include the effect of rotation somewhere?
Similar to what was done with the 3DoF model?
** DONE [#C] Better understand principle of virtual work ** DONE [#C] Better understand principle of virtual work
CLOSED: [2025-02-10 Mon 15:51] CLOSED: [2025-02-10 Mon 15:51]
@ -798,15 +801,15 @@ While a reasonable geometric configuration will be used to validate the NASS dur
<<sec:nhexa_model>> <<sec:nhexa_model>>
** Introduction :ignore: ** Introduction :ignore:
*Goal*: The dynamic modeling of Stewart platforms has traditionally relied on analytical approaches.
- Study the dynamics of Stewart platform However, these analytical models become increasingly complex when the full dynamic behavior of struts and joints must be captured.
- Instead of working with complex analytical models: a multi-body model is used. To overcome these limitations, a flexible multi-body approach has been developed that can be readily integrated into the broader NASS system model.
Complex because has to model the inertia of the struts. Through this multi-body modeling approach, each component model (including joints, actuators, and sensors) can be progressively refined.
Cite papers that tries to model the stewart platform analytically
Advantage: it will be easily included in the model of the NASS The analysis is structured in three parts.
- Model definition (Section ref:ssec:nhexa_model_def) First, the multi-body model is developed, wherein detailed geometric parameters, inertial properties, and actuator characteristics are established (Section ref:ssec:nhexa_model_def).
- Validation of the model by comparing with analytical equations (Section ref:ssec:nhexa_model_validation) The model is then validated through comparison with analytical equations in a simplified configuration (Section ref:ssec:nhexa_model_validation).
- Dynamics of the nano-hexapod used for conceptual analysis: (Section ref:ssec:nhexa_model_dynamics) Finally, the validated model is employed to analyze the nano-hexapod dynamics, from which insights for the control system design are derived (Section ref:ssec:nhexa_model_dynamics).
** Matlab Init :noexport:ignore: ** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) #+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
@ -837,11 +840,13 @@ While a reasonable geometric configuration will be used to validate the NASS dur
<<ssec:nhexa_model_def>> <<ssec:nhexa_model_def>>
**** Geometry **** Geometry
The geometry of the Stewart platform (see Figure ref:fig:nhexa_stewart_model_def) is defined by the position of frame $\{F\}$ with respect to $\{M\}$ and by the locations of the joints ${}^Fa_i$ and ${}^Mb_i$. The Stewart platform's geometry is defined by two principal coordinate frames (Figure ref:fig:nhexa_stewart_model_def): a fixed base frame $\{F\}$ and a moving platform frame $\{M\}$.
The point of interest, indicated by frame $\{A\}$ is located $150\,mm$ above the top platform (i.e. above the $\{M\}$ frame). The joints connecting the actuators to these frames are located at positions ${}^Fa_i$ and ${}^Mb_i$ respectively.
Parameters that defines the geometry of the nano-hexapod multi-body models are summarized in Table ref:tab:nhexa_stewart_model_geometry. The point of interest, denoted by frame $\{A\}$, is situated $150\,mm$ above the moving platform frame $\{M\}$.
From this, the orientation $\hat{s}_i$ and length $l_i$ of the struts can be computed, the Jacobian matrix $\bm{J}$ can be computed, and the kinematics of the Stewart platform can be studied. The geometric parameters of the nano-hexapod are summarized in Table ref:tab:nhexa_stewart_model_geometry.
These parameters define the positions of all connection points in their respective coordinate frames.
From these parameters, key kinematic properties can be derived: the strut orientations $\hat{s}_i$, strut lengths $l_i$, and the system's Jacobian matrix $\bm{J}$.
#+attr_latex: :options [b]{0.6\linewidth} #+attr_latex: :options [b]{0.6\linewidth}
#+begin_minipage #+begin_minipage
@ -879,30 +884,30 @@ From this, the orientation $\hat{s}_i$ and length $l_i$ of the struts can be com
**** Inertia of Plates **** Inertia of Plates
Both the fixed base and the top platform are modelled are solid bodies. The fixed base and moving platform are modeled as solid cylindrical bodies.
The bottom plate is a cylinder with radius of $120\,mm$ (matching the size of the micro-hexapod's top platform) and a thickness of $15\,mm$. The base platform is characterized by a radius of $120\,mm$ and thickness of $15\,mm$, matching the dimensions of the micro-hexapod's top platform.
The top plate is also modelled as a cylinder with a radius of $110\,mm$ and a thickness of $15,mm$. The moving platform is similarly modeled with a radius of $110\,mm$ and thickness of $15\,mm$.
Both have a mass of $5\,kg$. Both platforms are assigned a mass of $5\,kg$.
**** Joints **** Joints
The top and bottom joints, different number of DoF can be considered. The platform's joints play a crucial role in its dynamic behavior.
universal joint, spherical joint, with added axial stiffness and even with added lateral stiffnesses. At both the upper and lower connection points, various degrees of freedom can be modeled, including universal joints, spherical joints, and configurations with additional axial and lateral stiffness components.
For each DoF, stiffnesses can be added. For each degree of freedom, stiffness characteristics can be incorporated into the model.
During the conceptual design phase, bottom joints are modelled with universal joints (2-DoF) while top joints are modelled with spherical joints (3-DoF). In the conceptual design phase, a simplified joint configuration is employed: the bottom joints are modeled as two-degree-of-freedom universal joints, while the top joints are represented as three-degree-of-freedom spherical joints.
Both have no stiffness along their DoF and are mass-less. These joints are considered massless and exhibit no stiffness along their degrees of freedom.
**** Actuators **** Actuators
In its simplest form, the actuators are modelled with one prismatic joint having some internal stiffness $k_a$ and damping $c_a$, and a force source $f$. The actuator model comprises several key elements (Figure ref:fig:nhexa_actuator_model).
At its core, each actuator is modeled as a prismatic joint with internal stiffness $k_a$ and damping $c_a$, driven by a force source $f$.
Similarly to what was found using the rotating 3-DoF model, a parallel stiffness $k_p$ is added in parallel with the force sensor to ensure stability when considering spindle rotation effects.
As was shown using the 3DoF rotating model, having a parallel stiffness $k_p$ with the force sensor permits to regain the guaranteed stability of decentralized IFF when the spindle is rotating. Each actuator is equipped with two sensors: a force sensor providing measurements $f_m$ and a relative motion sensor measuring displacement $d_L$.
The actuator parameters used in the conceptual phase are presented in Table ref:tab:nhexa_actuator_parameters.
A force sensor with output $f_m$ is added as well as a relative motion sensor with output $d_L$. This modular approach to actuator modeling allows for future refinements as the design evolves, enabling the incorporation of additional dynamic effects or sensor characteristics as needed.
The model of the nano-hexapod actuators used during the conceptual phase are shown in Figure ref:fig:nhexa_actuator_model with the parameters summarized in Table ref:tab:nhexa_actuator_parameters.
Thanks to the flexibility of the multi-body model, the model of the actuators can later be refined.
#+attr_latex: :options [b]{0.6\linewidth} #+attr_latex: :options [b]{0.6\linewidth}
#+begin_minipage #+begin_minipage
@ -930,8 +935,9 @@ Thanks to the flexibility of the multi-body model, the model of the actuators ca
** Validation of the multi-body model ** Validation of the multi-body model
<<ssec:nhexa_model_validation>> <<ssec:nhexa_model_validation>>
The obtained multi-body model can schematically be represented as in Figure ref:fig:nhexa_stewart_model_input_outputs with actuator inputs $\bm{f}$, force sensor outputs $\bm{f}_m$ and relative displacement outputs $\bm{d}_L$. The developed multi-body model of the Stewart platform is represented schematically in Figure ref:fig:nhexa_stewart_model_input_outputs, highlighting the key inputs and outputs: actuator forces $\bm{f}$, force sensor measurements $\bm{f}_m$, and relative displacement measurements $\bm{d}_L$.
The 3D representation of the Stewart platform using the multi-body model is shown in Figure ref:fig:nhexa_simscape_screenshot. The frames $\{F\}$ and $\{M\}$ serve as interfaces for integration with other elements in the multi-body system.
A three-dimensional visualization of the model is presented in Figure ref:fig:nhexa_simscape_screenshot.
#+attr_latex: :options [b]{0.6\linewidth} #+attr_latex: :options [b]{0.6\linewidth}
#+begin_minipage #+begin_minipage
@ -949,31 +955,28 @@ The 3D representation of the Stewart platform using the multi-body model is show
[[file:figs/nhexa_simscape_screenshot.jpg]] [[file:figs/nhexa_simscape_screenshot.jpg]]
#+end_minipage #+end_minipage
To validate the multi-body model of the Stewart platform, the simplest Stewart platform configuration is used to compare the multi-body dynamics with the analytical transfer functions obtained in Section ref:ssec:nhexa_stewart_platform_dynamics. The validation of the multi-body model is performed using the simplest Stewart platform configuration, enabling direct comparison with the analytical transfer functions derived in Section ref:ssec:nhexa_stewart_platform_dynamics.
This configuration consists of massless universal joints at the base, massless spherical joints at the top platform, and massless struts with stiffness $k_a = 1\,\text{N}/\mu\text{m}$ and damping $c_a = 10\,\text{N}/({\text{m}/\text{s}})$.
The geometric parameters remain as specified in Table ref:tab:nhexa_actuator_parameters.
The bottom joints are universal joints while the top joints are spherical joints. All joints mass-less and have zero stiffness in the free DoF. While the moving platform itself is considered massless, a $10\,\text{kg}$ cylindrical payload is mounted on top with a radius of $r = 110\,mm$ and a height $h = 300\,mm$.
The struts are modelled with a stiffness equal to $k_a = 1\,N/\mu m$, damping $c_a = 10\,N/(m/s)$, and are mass-less.
The geometry used is shown in Table ref:tab:nhexa_actuator_parameters.
The top platform is considered mass-less, but a payload with mass $m = 10\,kg$ is added on top of the Stewart platform. For the analytical model, the stiffness, damping and mass matrices are defined in eqref:eq:nhexa_analytical_matrices.
The payload is cylindrical with a radius of $r = 110\,mm$ and a height $h = 300\,mm$ such that its center of mass coincide with $\{A\}$.
Stiffness, damping and mass matrices for the analytical equations are summarized in eqref:eq:nhexa_analytical_matrices.
The transfer functions from actuator forces to displacement of each strut can then be computed using eqref:eq:nhexa_transfer_function_struts.
\begin{subequations}\label{eq:nhexa_analytical_matrices} \begin{subequations}\label{eq:nhexa_analytical_matrices}
\begin{align} \begin{align}
\bm{K} &= \text{diag}(k_a,\ k_a,\ k_a,\ k_a,\ k_a,\ k_a) \\ \bm{\mathcal{K}} &= \text{diag}(k_a,\ k_a,\ k_a,\ k_a,\ k_a,\ k_a) \\
\bm{C} &= \text{diag}(c_a,\ c_a,\ c_a,\ c_a,\ c_a,\ c_a) \\ \bm{\mathcal{C}} &= \text{diag}(c_a,\ c_a,\ c_a,\ c_a,\ c_a,\ c_a) \\
\bm{M} &= \text{diag}\left(m,\ m,\ m,\ \frac{1}{12}m(3r^2 + h^2),\ \frac{1}{12}m(3r^2 + h^2),\ \frac{1}{2}mr^2\right) \bm{M} &= \text{diag}\left(m,\ m,\ m,\ \frac{1}{12}m(3r^2 + h^2),\ \frac{1}{12}m(3r^2 + h^2),\ \frac{1}{2}mr^2\right)
\end{align} \end{align}
\end{subequations} \end{subequations}
The same transfer functions are extracted from the multi-body model. The transfer functions from actuator forces to strut displacements are computed using these matrices according to equation eqref:eq:nhexa_transfer_function_struts.
The obtained state-space model has 12 states which corresponds to the 6-DoF of the top platform. These analytical transfer functions are then compared with those extracted from the multi-body model.
The multi-body model yields a state-space representation with 12 states, corresponding to the six degrees of freedom of the moving platform.
The transfer functions from the first actuator to the displacement of the 6 struts are compared in Figure ref:fig:nhexa_comp_multi_body_analytical. Figure ref:fig:nhexa_comp_multi_body_analytical presents a comparison between the analytical and multi-body transfer functions, specifically showing the response from the first actuator force to all six strut displacements.
A good match can be observed between the analytical formulas and the multi-body model therefore validating the multi-body model. The close agreement between both approaches across the frequency spectrum validates the multi-body model's accuracy in capturing the system's dynamic behavior.
#+begin_src matlab #+begin_src matlab
%% Plant using Analytical Equations %% Plant using Analytical Equations
@ -1077,22 +1080,23 @@ exportFig('figs/nhexa_comp_multi_body_analytical.pdf', 'width', 'wide', 'height'
** Nano Hexapod Dynamics ** Nano Hexapod Dynamics
<<ssec:nhexa_model_dynamics>> <<ssec:nhexa_model_dynamics>>
Now that the multi-body model is validated, it can be used to study the dynamics of the nano-hexapod. Following the validation of the multi-body model, a detailed analysis of the nano-hexapod dynamics has been performed.
The model is initialized as described in Section ref:ssec:nhexa_model_def with a $10\,kg$ payload, and the transfer functions from $\bm{f}$ to $\bm{f}_m$ and $\bm{d}_e$ are computed from the multi-body model. The model parameters are set according to the specifications outlined in Section ref:ssec:nhexa_model_def, with a payload mass of $10\,kg$.
Transfer functions from actuator forces $\bm{f}$ to both strut displacements $\bm{d}_L$ and force measurements $\bm{f}_m$ are derived from the multi-body model.
The transfer functions relating actuator forces to strut displacements are presented in Figure ref:fig:nhexa_multi_body_plant_dL.
Due to the system's symmetrical design and identical strut configurations, all diagonal terms (transfer functions from force $f_i$ to displacement $d_{Li}$ of the same strut) exhibit identical behavior.
While the system possesses six degrees of freedom, only four distinct resonance frequencies are observed in the frequency response.
This reduction from six to four observable modes is attributed to the system's symmetry, where two pairs of resonances occur at identical frequencies.
The system's behavior can be characterized in three frequency regions.
At low frequencies, well below the first resonance, the plant demonstrates good decoupling between actuators, with the response dominated by the strut stiffness: $G(j\omega) \xrightarrow[\omega \to 0]{} \mathcal{K}^{-1}$.
In the mid-frequency range, the system exhibits coupled dynamics through its resonant modes, reflecting the complex interactions between the platform's degrees of freedom.
At high frequencies, above the highest resonance, the response is governed by the payload's inertia mapped to the strut coordinates: $G(j\omega) \xrightarrow[\omega \to \infty]{} J M^{-T} J^T \frac{-1}{\omega^2}$
- [X] What payload to use? The force sensor transfer functions, shown in Figure ref:fig:nhexa_multi_body_plant_fm, display characteristics typical of collocated actuator-sensor pairs.
10kg payload Each actuator's transfer function to its associated force sensor exhibits alternating complex conjugate poles and zeros.
- [ ] Transfer function from f to de: The inclusion of parallel stiffness introduces an additional complex conjugate zero at low frequency, a feature previously observed in the three-degree-of-freedom rotating model.
- [ ] All diagonal terms equal (thanks to symmetry and having the same struts)
- [ ] 4 observed modes (due to symmetry, in reality 6 modes)
- [ ] Decoupled at low frequency $G(j\omega) \xrightarrow[\omega \to 0]{} \mathcal{K}^{-1}$ (low frequency gain is K)
- [ ] High frequency gain is $G(j\omega) \xrightarrow[\omega \to \infty]{} J M^{-T} J^T \frac{-1}{\omega^2}$, which is in general not diagonal
- [ ] Transfer function from f to fm:
- [ ] Alternating poles and zeros
- [ ] Effect of parallel stiffness on IFF plant?
- [ ] Validation of compliance matrix?
#+begin_src matlab #+begin_src matlab
%% Multi-Body model of the Nano-Hexapod %% Multi-Body model of the Nano-Hexapod
@ -1230,13 +1234,13 @@ exportFig('figs/nhexa_multi_body_plant_fm.pdf', 'width', 'half', 'height', 600);
#+caption: Bode plot of the transfer functions computed from the nano-hexapod multi-body model #+caption: Bode plot of the transfer functions computed from the nano-hexapod multi-body model
#+attr_latex: :options [htbp] #+attr_latex: :options [htbp]
#+begin_figure #+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_multi_body_plant_dL}$f_i$ to $d_{Li}$} #+attr_latex: :caption \subcaption{\label{fig:nhexa_multi_body_plant_dL}$\bm{f}$ to $\bm{d}_{L}$}
#+attr_latex: :options {0.48\textwidth} #+attr_latex: :options {0.48\textwidth}
#+begin_subfigure #+begin_subfigure
#+attr_latex: :width \linewidth #+attr_latex: :width \linewidth
[[file:figs/nhexa_multi_body_plant_dL.png]] [[file:figs/nhexa_multi_body_plant_dL.png]]
#+end_subfigure #+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:nhexa_multi_body_plant_fm}$f_i$ to $f_{mi}$} #+attr_latex: :caption \subcaption{\label{fig:nhexa_multi_body_plant_fm}$\bm{f}$ to $\bm{f}_{m}$}
#+attr_latex: :options {0.48\textwidth} #+attr_latex: :options {0.48\textwidth}
#+begin_subfigure #+begin_subfigure
#+attr_latex: :width \linewidth #+attr_latex: :width \linewidth
@ -1249,13 +1253,13 @@ exportFig('figs/nhexa_multi_body_plant_fm.pdf', 'width', 'half', 'height', 600);
:unnumbered: t :unnumbered: t
:end: :end:
- Validation of multi-body model in a simple case The multi-body modeling approach presented in this section provides a comprehensive framework for analyzing the dynamics of the nano-hexapod system.
- Possible to increase the model complexity when required Through comparison with analytical solutions in a simplified configuration, the model's accuracy has been validated, demonstrating its ability to capture the essential dynamic behavior of the Stewart platform.
- If considered 6dof joint stiffness, model order increases
- Can have an effect on IFF performances: [[cite:&preumont07_six_axis_singl_stage_activ]] A key advantage of this modeling approach lies in its flexibility for future refinements.
- Conclusion: during the conceptual design, we consider a perfect, but will be taken into account later While the current implementation employs idealized joints for the conceptual design phase, the framework readily accommodates the incorporation of joint stiffness and other non-ideal effects.
- Optimization of the Flexible joint will be performed in Chapter 2.2 The joint stiffness, known to impact the performance of decentralized IFF control strategy [[cite:&preumont07_six_axis_singl_stage_activ]], can be studied as the design evolved and will be optimized during the detail design phase.
- MIMO system: how to control? => next section The validated multi-body model will serve as a valuable tool for predicting system behavior and evaluating control performance throughout the design process.
* Control of Stewart Platforms * Control of Stewart Platforms
:PROPERTIES: :PROPERTIES:

Binary file not shown.

View File

@ -1,4 +1,4 @@
% Created 2025-02-10 Mon 19:03 % Created 2025-02-11 Tue 09:54
% 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}
@ -87,6 +87,7 @@ Maybe not the topic here.
\begin{table}[htbp] \begin{table}[htbp]
\caption{\label{tab:nhexa_serial_vs_parallel}Advantages and Disadvantages of both serial and parallel robots}
\centering \centering
\begin{tabularx}{\linewidth}{lXX} \begin{tabularx}{\linewidth}{lXX}
\toprule \toprule
@ -97,8 +98,6 @@ Disadvantages & Low Stiffness & Small Workspace\\
Kinematic Struture & Open & Closed-loop\\ Kinematic Struture & Open & Closed-loop\\
\bottomrule \bottomrule
\end{tabularx} \end{tabularx}
\caption{\label{tab:nhexa_serial_vs_parallel}Advantages and Disadvantages of both serial and parallel robots}
\end{table} \end{table}
\chapter{The Stewart platform} \chapter{The Stewart platform}
@ -425,26 +424,26 @@ While a reasonable geometric configuration will be used to validate the NASS dur
\chapter{Multi-Body Model} \chapter{Multi-Body Model}
\label{sec:nhexa_model} \label{sec:nhexa_model}
\textbf{Goal}: The dynamic modeling of Stewart platforms has traditionally relied on analytical approaches.
\begin{itemize} However, these analytical models become increasingly complex when the full dynamic behavior of struts and joints must be captured.
\item Study the dynamics of Stewart platform To overcome these limitations, a flexible multi-body approach has been developed that can be readily integrated into the broader NASS system model.
\item Instead of working with complex analytical models: a multi-body model is used. Through this multi-body modeling approach, each component model (including joints, actuators, and sensors) can be progressively refined.
Complex because has to model the inertia of the struts.
Cite papers that tries to model the stewart platform analytically The analysis is structured in three parts.
Advantage: it will be easily included in the model of the NASS First, the multi-body model is developed, wherein detailed geometric parameters, inertial properties, and actuator characteristics are established (Section \ref{ssec:nhexa_model_def}).
\item Model definition (Section \ref{ssec:nhexa_model_def}) The model is then validated through comparison with analytical equations in a simplified configuration (Section \ref{ssec:nhexa_model_validation}).
\item Validation of the model by comparing with analytical equations (Section \ref{ssec:nhexa_model_validation}) Finally, the validated model is employed to analyze the nano-hexapod dynamics, from which insights for the control system design are derived (Section \ref{ssec:nhexa_model_dynamics}).
\item Dynamics of the nano-hexapod used for conceptual analysis: (Section \ref{ssec:nhexa_model_dynamics})
\end{itemize}
\section{Model Definition} \section{Model Definition}
\label{ssec:nhexa_model_def} \label{ssec:nhexa_model_def}
\paragraph{Geometry} \paragraph{Geometry}
The geometry of the Stewart platform (see Figure \ref{fig:nhexa_stewart_model_def}) is defined by the position of frame \(\{F\}\) with respect to \(\{M\}\) and by the locations of the joints \({}^Fa_i\) and \({}^Mb_i\). The Stewart platform's geometry is defined by two principal coordinate frames (Figure \ref{fig:nhexa_stewart_model_def}): a fixed base frame \(\{F\}\) and a moving platform frame \(\{M\}\).
The point of interest, indicated by frame \(\{A\}\) is located \(150\,mm\) above the top platform (i.e. above the \(\{M\}\) frame). The joints connecting the actuators to these frames are located at positions \({}^Fa_i\) and \({}^Mb_i\) respectively.
Parameters that defines the geometry of the nano-hexapod multi-body models are summarized in Table \ref{tab:nhexa_stewart_model_geometry}. The point of interest, denoted by frame \(\{A\}\), is situated \(150\,mm\) above the moving platform frame \(\{M\}\).
From this, the orientation \(\hat{s}_i\) and length \(l_i\) of the struts can be computed, the Jacobian matrix \(\bm{J}\) can be computed, and the kinematics of the Stewart platform can be studied. The geometric parameters of the nano-hexapod are summarized in Table \ref{tab:nhexa_stewart_model_geometry}.
These parameters define the positions of all connection points in their respective coordinate frames.
From these parameters, key kinematic properties can be derived: the strut orientations \(\hat{s}_i\), strut lengths \(l_i\), and the system's Jacobian matrix \(\bm{J}\).
\begin{minipage}[b]{0.6\linewidth} \begin{minipage}[b]{0.6\linewidth}
\begin{center} \begin{center}
@ -482,30 +481,30 @@ From this, the orientation \(\hat{s}_i\) and length \(l_i\) of the struts can be
\paragraph{Inertia of Plates} \paragraph{Inertia of Plates}
Both the fixed base and the top platform are modelled are solid bodies. The fixed base and moving platform are modeled as solid cylindrical bodies.
The bottom plate is a cylinder with radius of \(120\,mm\) (matching the size of the micro-hexapod's top platform) and a thickness of \(15\,mm\). The base platform is characterized by a radius of \(120\,mm\) and thickness of \(15\,mm\), matching the dimensions of the micro-hexapod's top platform.
The top plate is also modelled as a cylinder with a radius of \(110\,mm\) and a thickness of \(15,mm\). The moving platform is similarly modeled with a radius of \(110\,mm\) and thickness of \(15\,mm\).
Both have a mass of \(5\,kg\). Both platforms are assigned a mass of \(5\,kg\).
\paragraph{Joints} \paragraph{Joints}
The top and bottom joints, different number of DoF can be considered. The platform's joints play a crucial role in its dynamic behavior.
universal joint, spherical joint, with added axial stiffness and even with added lateral stiffnesses. At both the upper and lower connection points, various degrees of freedom can be modeled, including universal joints, spherical joints, and configurations with additional axial and lateral stiffness components.
For each DoF, stiffnesses can be added. For each degree of freedom, stiffness characteristics can be incorporated into the model.
During the conceptual design phase, bottom joints are modelled with universal joints (2-DoF) while top joints are modelled with spherical joints (3-DoF). In the conceptual design phase, a simplified joint configuration is employed: the bottom joints are modeled as two-degree-of-freedom universal joints, while the top joints are represented as three-degree-of-freedom spherical joints.
Both have no stiffness along their DoF and are mass-less. These joints are considered massless and exhibit no stiffness along their degrees of freedom.
\paragraph{Actuators} \paragraph{Actuators}
In its simplest form, the actuators are modelled with one prismatic joint having some internal stiffness \(k_a\) and damping \(c_a\), and a force source \(f\). The actuator model comprises several key elements (Figure \ref{fig:nhexa_actuator_model}).
At its core, each actuator is modeled as a prismatic joint with internal stiffness \(k_a\) and damping \(c_a\), driven by a force source \(f\).
Similarly to what was found using the rotating 3-DoF model, a parallel stiffness \(k_p\) is added in parallel with the force sensor to ensure stability when considering spindle rotation effects.
As was shown using the 3DoF rotating model, having a parallel stiffness \(k_p\) with the force sensor permits to regain the guaranteed stability of decentralized IFF when the spindle is rotating. Each actuator is equipped with two sensors: a force sensor providing measurements \(f_m\) and a relative motion sensor measuring displacement \(d_L\).
The actuator parameters used in the conceptual phase are presented in Table \ref{tab:nhexa_actuator_parameters}.
A force sensor with output \(f_m\) is added as well as a relative motion sensor with output \(d_L\). This modular approach to actuator modeling allows for future refinements as the design evolves, enabling the incorporation of additional dynamic effects or sensor characteristics as needed.
The model of the nano-hexapod actuators used during the conceptual phase are shown in Figure \ref{fig:nhexa_actuator_model} with the parameters summarized in Table \ref{tab:nhexa_actuator_parameters}.
Thanks to the flexibility of the multi-body model, the model of the actuators can later be refined.
\begin{minipage}[b]{0.6\linewidth} \begin{minipage}[b]{0.6\linewidth}
\begin{center} \begin{center}
@ -533,8 +532,9 @@ Thanks to the flexibility of the multi-body model, the model of the actuators ca
\section{Validation of the multi-body model} \section{Validation of the multi-body model}
\label{ssec:nhexa_model_validation} \label{ssec:nhexa_model_validation}
The obtained multi-body model can schematically be represented as in Figure \ref{fig:nhexa_stewart_model_input_outputs} with actuator inputs \(\bm{f}\), force sensor outputs \(\bm{f}_m\) and relative displacement outputs \(\bm{d}_L\). The developed multi-body model of the Stewart platform is represented schematically in Figure \ref{fig:nhexa_stewart_model_input_outputs}, highlighting the key inputs and outputs: actuator forces \(\bm{f}\), force sensor measurements \(\bm{f}_m\), and relative displacement measurements \(\bm{d}_L\).
The 3D representation of the Stewart platform using the multi-body model is shown in Figure \ref{fig:nhexa_simscape_screenshot}. The frames \(\{F\}\) and \(\{M\}\) serve as interfaces for integration with other elements in the multi-body system.
A three-dimensional visualization of the model is presented in Figure \ref{fig:nhexa_simscape_screenshot}.
\begin{minipage}[b]{0.6\linewidth} \begin{minipage}[b]{0.6\linewidth}
\begin{center} \begin{center}
@ -550,31 +550,28 @@ The 3D representation of the Stewart platform using the multi-body model is show
\end{center} \end{center}
\end{minipage} \end{minipage}
To validate the multi-body model of the Stewart platform, the simplest Stewart platform configuration is used to compare the multi-body dynamics with the analytical transfer functions obtained in Section \ref{ssec:nhexa_stewart_platform_dynamics}. The validation of the multi-body model is performed using the simplest Stewart platform configuration, enabling direct comparison with the analytical transfer functions derived in Section \ref{ssec:nhexa_stewart_platform_dynamics}.
This configuration consists of massless universal joints at the base, massless spherical joints at the top platform, and massless struts with stiffness \(k_a = 1\,\text{N}/\mu\text{m}\) and damping \(c_a = 10\,\text{N}/({\text{m}/\text{s}})\).
The geometric parameters remain as specified in Table \ref{tab:nhexa_actuator_parameters}.
The bottom joints are universal joints while the top joints are spherical joints. All joints mass-less and have zero stiffness in the free DoF. While the moving platform itself is considered massless, a \(10\,\text{kg}\) cylindrical payload is mounted on top with a radius of \(r = 110\,mm\) and a height \(h = 300\,mm\).
The struts are modelled with a stiffness equal to \(k_a = 1\,N/\mu m\), damping \(c_a = 10\,N/(m/s)\), and are mass-less.
The geometry used is shown in Table \ref{tab:nhexa_actuator_parameters}.
The top platform is considered mass-less, but a payload with mass \(m = 10\,kg\) is added on top of the Stewart platform. For the analytical model, the stiffness, damping and mass matrices are defined in \eqref{eq:nhexa_analytical_matrices}.
The payload is cylindrical with a radius of \(r = 110\,mm\) and a height \(h = 300\,mm\) such that its center of mass coincide with \(\{A\}\).
Stiffness, damping and mass matrices for the analytical equations are summarized in \eqref{eq:nhexa_analytical_matrices}.
The transfer functions from actuator forces to displacement of each strut can then be computed using \eqref{eq:nhexa_transfer_function_struts}.
\begin{subequations}\label{eq:nhexa_analytical_matrices} \begin{subequations}\label{eq:nhexa_analytical_matrices}
\begin{align} \begin{align}
\bm{K} &= \text{diag}(k_a,\ k_a,\ k_a,\ k_a,\ k_a,\ k_a) \\ \bm{\mathcal{K}} &= \text{diag}(k_a,\ k_a,\ k_a,\ k_a,\ k_a,\ k_a) \\
\bm{C} &= \text{diag}(c_a,\ c_a,\ c_a,\ c_a,\ c_a,\ c_a) \\ \bm{\mathcal{C}} &= \text{diag}(c_a,\ c_a,\ c_a,\ c_a,\ c_a,\ c_a) \\
\bm{M} &= \text{diag}\left(m,\ m,\ m,\ \frac{1}{12}m(3r^2 + h^2),\ \frac{1}{12}m(3r^2 + h^2),\ \frac{1}{2}mr^2\right) \bm{M} &= \text{diag}\left(m,\ m,\ m,\ \frac{1}{12}m(3r^2 + h^2),\ \frac{1}{12}m(3r^2 + h^2),\ \frac{1}{2}mr^2\right)
\end{align} \end{align}
\end{subequations} \end{subequations}
The same transfer functions are extracted from the multi-body model. The transfer functions from actuator forces to strut displacements are computed using these matrices according to equation \eqref{eq:nhexa_transfer_function_struts}.
The obtained state-space model has 12 states which corresponds to the 6-DoF of the top platform. These analytical transfer functions are then compared with those extracted from the multi-body model.
The multi-body model yields a state-space representation with 12 states, corresponding to the six degrees of freedom of the moving platform.
The transfer functions from the first actuator to the displacement of the 6 struts are compared in Figure \ref{fig:nhexa_comp_multi_body_analytical}. Figure \ref{fig:nhexa_comp_multi_body_analytical} presents a comparison between the analytical and multi-body transfer functions, specifically showing the response from the first actuator force to all six strut displacements.
A good match can be observed between the analytical formulas and the multi-body model therefore validating the multi-body model. The close agreement between both approaches across the frequency spectrum validates the multi-body model's accuracy in capturing the system's dynamic behavior.
\begin{figure}[htbp] \begin{figure}[htbp]
\centering \centering
@ -585,57 +582,48 @@ A good match can be observed between the analytical formulas and the multi-body
\section{Nano Hexapod Dynamics} \section{Nano Hexapod Dynamics}
\label{ssec:nhexa_model_dynamics} \label{ssec:nhexa_model_dynamics}
Now that the multi-body model is validated, it can be used to study the dynamics of the nano-hexapod. Following the validation of the multi-body model, a detailed analysis of the nano-hexapod dynamics has been performed.
The model is initialized as described in Section \ref{ssec:nhexa_model_def} with a \(10\,kg\) payload, and the transfer functions from \(\bm{f}\) to \(\bm{f}_m\) and \(\bm{d}_e\) are computed from the multi-body model. The model parameters are set according to the specifications outlined in Section \ref{ssec:nhexa_model_def}, with a payload mass of \(10\,kg\).
Transfer functions from actuator forces \(\bm{f}\) to both strut displacements \(\bm{d}_L\) and force measurements \(\bm{f}_m\) are derived from the multi-body model.
The transfer functions relating actuator forces to strut displacements are presented in Figure \ref{fig:nhexa_multi_body_plant_dL}.
Due to the system's symmetrical design and identical strut configurations, all diagonal terms (transfer functions from force \(f_i\) to displacement \(d_{Li}\) of the same strut) exhibit identical behavior.
While the system possesses six degrees of freedom, only four distinct resonance frequencies are observed in the frequency response.
This reduction from six to four observable modes is attributed to the system's symmetry, where two pairs of resonances occur at identical frequencies.
The system's behavior can be characterized in three frequency regions.
At low frequencies, well below the first resonance, the plant demonstrates good decoupling between actuators, with the response dominated by the strut stiffness: \(G(j\omega) \xrightarrow[\omega \to 0]{} \mathcal{K}^{-1}\).
In the mid-frequency range, the system exhibits coupled dynamics through its resonant modes, reflecting the complex interactions between the platform's degrees of freedom.
At high frequencies, above the highest resonance, the response is governed by the payload's inertia mapped to the strut coordinates: \(G(j\omega) \xrightarrow[\omega \to \infty]{} J M^{-T} J^T \frac{-1}{\omega^2}\)
\begin{itemize} The force sensor transfer functions, shown in Figure \ref{fig:nhexa_multi_body_plant_fm}, display characteristics typical of collocated actuator-sensor pairs.
\item[{$\boxtimes$}] What payload to use? Each actuator's transfer function to its associated force sensor exhibits alternating complex conjugate poles and zeros.
10kg payload The inclusion of parallel stiffness introduces an additional complex conjugate zero at low frequency, a feature previously observed in the three-degree-of-freedom rotating model.
\item[{$\square$}] Transfer function from f to de:
\begin{itemize}
\item[{$\square$}] All diagonal terms equal (thanks to symmetry and having the same struts)
\item[{$\square$}] 4 observed modes (due to symmetry, in reality 6 modes)
\item[{$\square$}] Decoupled at low frequency \(G(j\omega) \xrightarrow[\omega \to 0]{} \mathcal{K}^{-1}\) (low frequency gain is K)
\item[{$\square$}] High frequency gain is \(G(j\omega) \xrightarrow[\omega \to \infty]{} J M^{-T} J^T \frac{-1}{\omega^2}\), which is in general not diagonal
\end{itemize}
\item[{$\square$}] Transfer function from f to fm:
\begin{itemize}
\item[{$\square$}] Alternating poles and zeros
\item[{$\square$}] Effect of parallel stiffness on IFF plant?
\end{itemize}
\item[{$\square$}] Validation of compliance matrix?
\end{itemize}
\begin{figure}[htbp] \begin{figure}[htbp]
\begin{subfigure}{0.48\textwidth} \begin{subfigure}{0.48\textwidth}
\begin{center} \begin{center}
\includegraphics[scale=1,width=\linewidth]{figs/nhexa_multi_body_plant_dL.png} \includegraphics[scale=1,width=\linewidth]{figs/nhexa_multi_body_plant_dL.png}
\end{center} \end{center}
\subcaption{\label{fig:nhexa_multi_body_plant_dL}$f_i$ to $d_{Li}$} \subcaption{\label{fig:nhexa_multi_body_plant_dL}$\bm{f}$ to $\bm{d}_{L}$}
\end{subfigure} \end{subfigure}
\begin{subfigure}{0.48\textwidth} \begin{subfigure}{0.48\textwidth}
\begin{center} \begin{center}
\includegraphics[scale=1,width=\linewidth]{figs/nhexa_multi_body_plant_fm.png} \includegraphics[scale=1,width=\linewidth]{figs/nhexa_multi_body_plant_fm.png}
\end{center} \end{center}
\subcaption{\label{fig:nhexa_multi_body_plant_fm}$f_i$ to $f_{mi}$} \subcaption{\label{fig:nhexa_multi_body_plant_fm}$\bm{f}$ to $\bm{f}_{m}$}
\end{subfigure} \end{subfigure}
\caption{\label{fig:nhexa_multi_body_plant}Bode plot of the transfer functions computed from the nano-hexapod multi-body model} \caption{\label{fig:nhexa_multi_body_plant}Bode plot of the transfer functions computed from the nano-hexapod multi-body model}
\end{figure} \end{figure}
\section*{Conclusion} \section*{Conclusion}
\begin{itemize} The multi-body modeling approach presented in this section provides a comprehensive framework for analyzing the dynamics of the nano-hexapod system.
\item Validation of multi-body model in a simple case Through comparison with analytical solutions in a simplified configuration, the model's accuracy has been validated, demonstrating its ability to capture the essential dynamic behavior of the Stewart platform.
\item Possible to increase the model complexity when required
\begin{itemize} A key advantage of this modeling approach lies in its flexibility for future refinements.
\item If considered 6dof joint stiffness, model order increases While the current implementation employs idealized joints for the conceptual design phase, the framework readily accommodates the incorporation of joint stiffness and other non-ideal effects.
\item Can have an effect on IFF performances: \cite{preumont07_six_axis_singl_stage_activ} The joint stiffness, known to impact the performance of decentralized IFF control strategy \cite{preumont07_six_axis_singl_stage_activ}, can be studied as the design evolved and will be optimized during the detail design phase.
\item Conclusion: during the conceptual design, we consider a perfect, but will be taken into account later The validated multi-body model will serve as a valuable tool for predicting system behavior and evaluating control performance throughout the design process.
\item Optimization of the Flexible joint will be performed in Chapter 2.2
\end{itemize}
\item MIMO system: how to control? => next section
\end{itemize}
\chapter{Control of Stewart Platforms} \chapter{Control of Stewart Platforms}
\label{sec:nhexa_control} \label{sec:nhexa_control}