Rework multi-body model section
This commit is contained in:
parent
95b9b460f7
commit
f7f1e816fc
@ -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.
@ -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}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user