#+TITLE: Nano Hexapod - Obtained Design
:DRAWER:
#+LANGUAGE: en
#+EMAIL: dehaeze.thomas@gmail.com
#+AUTHOR: Dehaeze Thomas

#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP:   ../index.html

#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>

#+BIND: org-latex-image-default-option "scale=1"
#+BIND: org-latex-image-default-width ""

#+LaTeX_CLASS: scrreprt
#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]
#+LATEX_HEADER: \input{preamble.tex}
#+LATEX_HEADER_EXTRA: \input{preamble_extra.tex}
#+LATEX_HEADER_EXTRA: \bibliography{nass-design.bib}

#+BIND: org-latex-bib-compiler "biber"

#+PROPERTY: header-args:matlab  :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments no
#+PROPERTY: header-args:matlab+ :exports none
#+PROPERTY: header-args:matlab+ :results none
#+PROPERTY: header-args:matlab+ :eval no-export
#+PROPERTY: header-args:matlab+ :noweb yes
#+PROPERTY: header-args:matlab+ :mkdirp yes
#+PROPERTY: header-args:matlab+ :output-dir figs
#+PROPERTY: header-args:matlab+ :tangle no

#+PROPERTY: header-args:latex  :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/tikz/org/}{config.tex}")
#+PROPERTY: header-args:latex+ :imagemagick t :fit yes
#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150
#+PROPERTY: header-args:latex+ :imoutoptions -quality 100
#+PROPERTY: header-args:latex+ :results file raw replace
#+PROPERTY: header-args:latex+ :buffer no
#+PROPERTY: header-args:latex+ :tangle no
#+PROPERTY: header-args:latex+ :eval no-export
#+PROPERTY: header-args:latex+ :exports results
#+PROPERTY: header-args:latex+ :mkdirp yes
#+PROPERTY: header-args:latex+ :output-dir figs
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:

#+latex: \clearpage

* Build                                                             :noexport:
#+NAME: startblock
#+BEGIN_SRC emacs-lisp :results none :tangle no
(add-to-list 'org-latex-classes
             '("scrreprt"
               "\\documentclass{scrreprt}"
               ("\\chapter{%s}" . "\\chapter*{%s}")
               ("\\section{%s}" . "\\section*{%s}")
               ("\\subsection{%s}" . "\\subsection*{%s}")
               ("\\paragraph{%s}" . "\\paragraph*{%s}")
               ))


;; Remove automatic org heading labels
(defun my-latex-filter-removeOrgAutoLabels (text backend info)
  "Org-mode automatically generates labels for headings despite explicit use of `#+LABEL`. This filter forcibly removes all automatically generated org-labels in headings."
  (when (org-export-derived-backend-p backend 'latex)
    (replace-regexp-in-string "\\\\label{sec:org[a-f0-9]+}\n" "" text)))
(add-to-list 'org-export-filter-headline-functions
             'my-latex-filter-removeOrgAutoLabels)

;; Remove all org comments in the output LaTeX file
(defun delete-org-comments (backend)
  (loop for comment in (reverse (org-element-map (org-element-parse-buffer)
                                    'comment 'identity))
        do
        (setf (buffer-substring (org-element-property :begin comment)
                                (org-element-property :end comment))
              "")))
(add-hook 'org-export-before-processing-hook 'delete-org-comments)

;; Use no package by default
(setq org-latex-packages-alist nil)
(setq org-latex-default-packages-alist nil)

;; Do not include the subtitle inside the title
(setq org-latex-subtitle-separate t)
(setq org-latex-subtitle-format "\\subtitle{%s}")

(setq org-export-before-parsing-hook '(org-ref-glossary-before-parsing
                                       org-ref-acronyms-before-parsing))
#+END_SRC

* Notes                                                             :noexport:
** Notes
Prefix is =detail_design=

- [ ] Look [[https://gitlab.esrf.fr/dehaeze/nass-fem/-/tree/master?ref_type=heads][here]] for the struts, encoder support, etc...
- [ ] file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/nano_hexapod.org
- [ ] Design of the flexible joints
- [ ] Nice pictures: file:/home/thomas/Cloud/work-projects/ID31-NASS/nano-hexapod
- [ ] Mounting of struts is explained later in file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C3-test-bench-struts/test-bench-struts.org
- [ ] Mounting of hexapod is explained in file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C4-test-bench-nano-hexapod/test-bench-nano-hexapod.org

*Outline*:
- Design goals:
  - Position =bi= and =si=
  - Maximum height of 95mm
  - As close as possible to "perfect" stewart platform: flexible modes at high frequency
  - Summary of specifications
  - Easy mounting, easy change of strut in case of failure
- Plates:
  - Maximize frequency of flexible modes (show FEM)
  - Good tolerances for interfaces with flexible joints
    Positioning of =bi= and orientation =si=
- Flexible joints:
- Strut mounting (later described)
- Encoder support:
  - Possible to fix them to the struts or to the plates

** DONE [#C] Summary of the specifications
CLOSED: [2025-04-21 Mon 22:57]

Flexible joints:
- Axial Stiffness
- Bending Stiffness
- Stroke

APA:
- Axial stiffness

Encoders:
- Stroke, Noise

Plates:
- Maximize flexible modes
- Correct positioning of bi and si => precisely know the Jacobian matrix

** DONE [#C] Explain the good wanted flatness for the APA
CLOSED: [2025-04-21 Mon 22:57]

#+begin_quote
Sur le plan on a une co-planéitée de 0.08mm entre les 2 interfaces (ce
qui est pas très exigent avant la découpe intérieure au fil, mais qui
est pas si évidente que ça si la matière a des contraintes interne). En
plus, ça peut évoluer après collage des piezos (c'est probablement ce
qu'on regardait sur ta photo.)

Je pense qu'on avait demandé ça pour ne pas consommer la course des flex
seulement pour compenser les défauts d'usinage/collage. 20um c’était
vraiment du bon boulot.

Le plans que Damien avait fait du corps de l'APA est en pj si tu veux
illustrer.
#+end_quote

** DONE [#C] Understand why hexapod stiffness (maximizing suspension modes) is often the main design goal
CLOSED: [2025-04-21 Mon 22:57]

See for instance cite:afzali-far16_vibrat_dynam_isotr_hexap_analy_studies.

Possible reasons:
- ease of designing a controller with bandwidth < first suspension mode
- when controlling <6DoF, above the resonance the "off-axis" motion may be very large even though the "on-axis" is controlled.

Not the case for the following references (control bandwidth > suspension mode):
- cite:hanieh03_activ_stewar

Example of claims that resonances impose limitation to control bandwidth:
From cite:babakhani12_activ_dampin_vibrat_high_precis_motion_system (page i)
#+begin_quote
Speed and accuracy in motion systems can be attained by implementing a high-bandwidth motion controller.
The resonances in the plant transfer impose a limit on the achievable bandwidth of such a controller.
#+end_quote

** DONE [#B] Put all the figure in the document
CLOSED: [2025-04-21 Mon 14:21]

*Design*:
- [X] Overview
  [[file:figs/detail_design_nano_hexapod_elements.png]]
- [X] Final design of struts
  [[file:figs/detail_design_strut_without_enc.jpg]]
  [[file:figs/detail_design_strut_with_enc.jpg]]
- [X] Modification of APA300ML for easier mounting purposes
  [[file:figs/detail_design_apa_mod.jpg]]
- [X] Plate design
  [[file:figs/detail_design_top_plate.jpg]]
- [X] Design of plates for positioning struts
  [[file:figs/detail_design_fixation_flexible_joints.png]]
  [[file:figs/detail_design_location_bot_flex.png]]
  [[file:figs/detail_design_location_top_flexible_joints.png]]
- [X] Design of Flexible joints for fixation to the plates / precise positioning of center of rotation
  [[file:figs/detail_design_specifications_flexible_joints.png]]
- [X] Encoder on plates
  [[file:figs/detail_design_encoders_plates.jpg]]
  [[file:figs/detail_design_enc_plates.jpg]]
- [X] Encoder on struts
  [[file:figs/detail_design_enc_struts.jpg]]

*FEM*:
- [X] FEM of nano-hexapod: rigid body modes
  [[file:figs/detail_design_fem_rigid_body_mode.jpg]]
- [X] FEM of struts => maybe issue with encoder => several options
  [[file:figs/detail_design_fem_strut_mode.jpg]]
- [X] FEM of plates
  [[file:figs/detail_design_fem_plate_mode.jpg]]
- [X] FEM of encoder support
  [[file:figs/detail_design_fem_encoder_fix.png]]

*Multi-Body Model*:
- [X] Joint Model
  [[file:figs/detail_design_simscape_model_flexible_joint.png]]
- [X] Encoder model
  [[file:figs/detail_design_simscape_encoder.png]]
  [[file:figs/detail_design_simscape_encoder_disp.png]]
- [X] Screenshot of Simscape Model
  [[file:figs/detail_design_simscape_encoder_plates.png]]
  [[file:figs/detail_design_simscape_encoder_struts.png]]

20 figures

** DONE [#A] Make detailed outline
CLOSED: [2025-04-21 Mon 14:13]

- *Design goals*:
  - Position =bi= and =si=
  - Maximum height of 95mm
  - As close as possible to "perfect" stewart platform: flexible modes at high frequency
  - Easy mounting, easy change of strut in case of failure
- *Mechanical Design*
  - Struts:
    - Flexible joints: interface with plates, etc..
    - APA: modification for better mounting
    - Encoder support:
  - Plates:
    - Maximize frequency of flexible modes (show FEM)
    - Good tolerances for interfaces with flexible joints
      Positioning of =bi= and orientation =si=
  - Obtained design:
    - FEM of complete system
    - Show modes of the struts
    - Alternative encoder position: on the plates
- *Multi body Model*:
  - Complete model: two plates, 6 joints, 6 actuators, 6 encoders
  - Joint Model
  - APA Model
  - Encoder model
  - Say that obtained dynamics was considered good + possible to perform simulations of tomography experiments with same performance as during the conceptual design

* Introduction                                                        :ignore:

The detailed mechanical design of the active platform, depicted in Figure ref:fig:detail_design_nano_hexapod_elements, is presented in this section.
Several primary objectives guided the mechanical design.
First, to ensure a well-defined Jacobian matrix used in the control architecture, accurate positioning of the top flexible joint rotation points and correct orientation of the struts were required.
Secondly, space constraints necessitated that the entire platform fit within a cylinder with a radius of $120\,\text{mm}$ and a height of $95\,\text{mm}$.
Thirdly, because performance predicted by the multi-body model was fulfilling the requirements, the final design was intended to approximate the behavior of this "idealized" active platform as closely as possible.
This objective implies that the frequencies of (un-modelled) flexible modes potentially detrimental to control performance needed to be maximized.
Finally, considerations for ease of mounting, alignment, and maintenance were incorporated, specifically ensuring that struts could be easily replaced in the event of failure.

#+name: fig:detail_design_nano_hexapod_elements
#+caption: Obtained mechanical design of the Active platform, the "nano-hexapod"
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_nano_hexapod_elements.png]]

* Mechanical Design
<<sec:detail_design_mechanics>>
**** Struts

The strut design, illustrated in Figure ref:fig:detail_design_strut, was driven by several factors.
Stiff interfaces were required between the amplified piezoelectric actuator and the two flexible joints, as well as between the flexible joints and their respective mounting plates.
Due to the limited angular stroke of the flexible joints, it was critical that the struts could be assembled such that the two cylindrical interfaces were coaxial while the flexible joints remained in their unstressed, nominal rest position.
To facilitate this alignment, cylindrical washers (Figure ref:fig:detail_design_strut_without_enc) were integrated into the design to compensate for potential deviations from perfect flatness between the two APA interface planes (Figure ref:fig:detail_design_apa).
Furthermore, a dedicated mounting bench was developed to enable precise alignment of each strut, even when accounting for typical machining inaccuracies.
The mounting procedure is described in Section ref:sec:test_struts_mounting.
Lastly, the design needed to permit the fixation of an encoder parallel to the strut axis, as shown in Figure ref:fig:detail_design_strut_with_enc.

#+name: fig:detail_design_strut
#+caption: Design of the Nano-Hexapod struts. Before (\subref{fig:detail_design_strut_without_enc}) and after (\subref{fig:detail_design_strut_with_enc}) encoder integration.
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_strut_without_enc}Before encoder integration}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 0.9
[[file:figs/detail_design_strut_without_enc.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_strut_with_enc}With the mounted encoder}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 0.9
[[file:figs/detail_design_strut_with_enc.png]]
#+end_subfigure
#+end_figure

The flexible joints, shown in Figure ref:fig:detail_design_flexible_joint, were manufactured using wire-cut electrical discharge machining (EDM).
First, the part's inherent fragility, stemming from its $0.25\,\text{mm}$ neck dimension, makes it susceptible to damage from cutting forces typical in classical machining.
Furthermore, wire-cut EDM allows for the very tight machining tolerances critical for achieving accurate location of the center of rotation relative to the plate interfaces (indicated by red surfaces in Figure ref:fig:detail_design_flexible_joint) and for maintaining the correct neck dimensions necessary for the desired stiffness and angular stroke properties.
The material chosen for the flexible joints is a stainless steel designated /X5CrNiCuNb16-4/ (alternatively known as F16Ph).
This selection was based on its high specified yield strength (exceeding $1\,\text{GPa}$ after appropriate heat treatment) and its high fatigue resistance.

As shown in Figure ref:fig:detail_design_flexible_joint, the interface designed to connect with the APA possesses a cylindrical shape, facilitating the use of the aforementioned cylindrical washers for alignment.
A slotted hole was incorporated to permit alignment of the flexible joint with the APA via a dowel pin.
Additionally, two threaded holes were included on the sides for mounting the encoder components.
The interface connecting the flexible joint to the platform plates will be described subsequently.

Modifications to the standard mechanical interfaces of the APA300ML were requested from the manufacturer.
The modified design features two planar surfaces and a dowel hole for precise location and orientation, as illustrated in Figure ref:fig:detail_design_apa.

#+name: fig:detail_design_apa_joints
#+caption: Two main components of the struts: the flexible joint (\subref{fig:detail_design_flexible_joint}) and the amplified piezoelectric actuator (\subref{fig:detail_design_apa}).
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_flexible_joint}Flexible joint}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 1
[[file:figs/detail_design_flexible_joint.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_apa}Amplified Piezoelectric Actuator}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 1
[[file:figs/detail_design_apa.png]]
#+end_subfigure
#+end_figure

Accurate measurement of the relative displacement within each strut requires the encoders to sense the motion between the rotational centers of the two associated flexible joints.
To achieve this, two interface parts, fabricated from aluminum, were designed.
These parts serve to fix the encoder head and the associated scale (ruler) to the two flexible joints, as depicted in Figure ref:fig:detail_design_strut_with_enc.

**** Plates

The design of the top and bottom plates of the active platform was governed by two main requirements: maximizing the frequency of flexible modes and ensuring accurate positioning of the top flexible joints and well-defined orientation of the struts.
To maximize the natural frequencies associated with plate flexibility, a network of reinforcing ribs was incorporated into the design, as shown for the top plate in Figure ref:fig:detail_design_top_plate.
Although topology optimization methods were considered, the implemented ribbed design was found to provide sufficiently high natural frequencies for the flexible modes.

#+name: fig:detail_design_top_plate
#+caption: The mechanical design for the top platform incorporates precisely positioned V-grooves for the joint interfaces (displayed in red). The purpose of the encoder interface (shown in green) is detailed later.
#+attr_latex: :scale 1
[[file:figs/detail_design_top_plate.png]]

The interfaces for the joints on the plates incorporate V-grooves (red planes in Figure ref:fig:detail_design_top_plate).
The cylindrical portion of each flexible joint is constrained within its corresponding V-groove through two distinct line contacts, illustrated in Figure ref:fig:detail_design_fixation_flexible_joints.
These grooves consequently serve to define the nominal orientation of the struts.
High machining accuracy for these features is essential to ensure that the flexible joints are in their neutral, unstressed state when the active platform is assembled.

#+name: fig:detail_design_fixation_flexible_joints
#+caption: Fixation of the flexible points to the nano-hexapod plates. Both top and bottom flexible joints are clamped to the plates as shown in (\subref{fig:detail_design_fixation_flexible_joints}). While the top flexible joint is in contact with the top plate for precise positioning of its center of rotation (\subref{fig:detail_design_location_top_flexible_joints}), the bottom joint is just oriented (\subref{fig:detail_design_location_bot_flex}).
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fixation_flexible_joints}Flexible Joint Clamping}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/detail_design_fixation_flexible_joints.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_location_top_flexible_joints}Top positioning}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/detail_design_location_top_flexible_joints.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_location_bot_flex}Bottom Positioning}
#+attr_latex: :options {0.33\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.99\linewidth
[[file:figs/detail_design_location_bot_flex.png]]
#+end_subfigure
#+end_figure

Furthermore, the flat interface surface of each top flexible joint is designed to be in direct contact with the top platform surface, as shown in Figure ref:fig:detail_design_location_top_flexible_joints.
This contact ensures that the centers of rotation of the top flexible joints, are precisely located relative to the top platform coordinate system.
The bottom flexible joints, however, are primarily oriented by the V-grooves without the same precise positional constraint against the bottom plate, as shown in Figure ref:fig:detail_design_location_bot_flex.

Both plates were specified to be manufactured from a martensitic stainless steel, X30Cr13.
This material was selected primarily for its high hardness, which minimizes the risk of deformation of the reference surfaces during the clamping of the flexible joints.
This characteristic is expected to permit repeated assembly and disassembly of the struts, should maintenance or reconfiguration be necessary.

**** Finite Element Analysis

A finite element analysis (FEA) of the complete active platform assembly was performed to identify modes that could potentially affect performance.
The analysis revealed that the first six modes correspond to "suspension" modes, where the top plate effectively moves as a rigid body, and motion primarily involves axial displacement of the six struts (an example is shown in Figure ref:fig:detail_design_fem_rigid_body_mode).
Following these suspension modes, numerous "local" modes associated with the struts themselves were observed in the frequency range between $205\,\text{Hz}$ and $420\,\text{Hz}$.
One such mode is represented in Figure ref:fig:detail_design_fem_strut_mode.
Although these modes do not appear to induce significant motion of the top platform, they do cause relative displacement between the encoder components (head and scale) mounted on the strut.
Consequently, such modes could potentially degrade control performance if the active platform's position is regulated using these encoder measurements.
The extent to which these modes might be detrimental is difficult to establish at this stage, as it depends on whether they are significantly excited by the APA actuation and their sensitivity to strut alignment.
Finally, the FEA indicated that flexible modes of the top plate itself begin to appear at frequencies above $650\,\text{Hz}$, with the first such mode shown in Figure ref:fig:detail_design_fem_plate_mode.

#+name: fig:detail_design_fem_nano_hexapod
#+caption: Measurement of strut flexible modes. First six modes are "suspension" modes in which the top plate behaves as a rigid body (\subref{fig:detail_design_fem_rigid_body_mode}). Then modes of the struts have natural frequencies from $205\,\text{Hz}$ to $420\,\text{Hz}$ (\subref{fig:detail_design_fem_strut_mode}). Finally, the first flexible mode of the top plate is at $650\,\text{Hz}$ (\subref{fig:detail_design_fem_plate_mode})
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_rigid_body_mode}Suspension mode}
#+attr_latex: :options {0.36\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_fem_rigid_body_mode.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_strut_mode}Strut - Local mode}
#+attr_latex: :options {0.36\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_fem_strut_mode.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_plate_mode}Top plate mode}
#+attr_latex: :options {0.26\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_fem_plate_mode.jpg]]
#+end_subfigure
#+end_figure

**** Alternative Encoder Placement

In anticipation of potential issues arising from the local modes of the struts affecting encoder measurements, an alternative fixation strategy for the encoders was designed.
In this configuration, the encoders are fixed directly to the top and bottom plates instead of the struts, as illustrated in Figure ref:fig:detail_design_enc_plates_design.

#+name: fig:detail_design_enc_plates_design
#+caption: Alternative way of using the encoders: they are fixed directly to the plates.
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_enc_plates}Nano-Hexapod with encoders fixed to the plates}
#+attr_latex: :options {0.59\textwidth}
#+begin_subfigure
#+attr_latex: :height 5cm
[[file:figs/detail_design_enc_plates.jpg]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_encoders_plates}Zoom on encoder fixation}
#+attr_latex: :options {0.39\textwidth}
#+begin_subfigure
#+attr_latex: :height 5cm
[[file:figs/detail_design_encoders_plates.jpg]]
#+end_subfigure
#+end_figure

Dedicated supports, machined from aluminum, were designed for this purpose.
It was verified through FEA that the natural modes of these supports occur at frequencies sufficiently high (first mode estimated at $1120\,\text{Hz}$) to not be problematic for control.
Precise positioning of these encoder supports is achieved through machined pockets in both the top and bottom plates, visible in Figure ref:fig:detail_design_top_plate (indicated in green).
Although the encoders in this arrangement are aligned parallel to the nominal strut axes, they no longer measure the exact relative displacement along the strut between the flexible joint centers.
This geometric discrepancy implies that if the relative motion control of the active platform is based directly on these encoder readings, the kinematic calculations may be slightly inaccurate, potentially affecting the overall positioning accuracy of the platform.

* Multi-Body Model
<<sec:detail_design_model>>
**** Introduction                                                  :ignore:

Prior to the procurement of mechanical components, the multi-body simulation model of the active platform was refined to incorporate the finalized design geometries.
Two distinct configurations, corresponding to the two encoder mounting strategies discussed previously, were considered in the model, as displayed in Figure ref:fig:detail_design_simscape_encoder: one with encoders fixed to the struts, and another with encoders fixed to the plates.
In these models, the top and bottom plates were represented as rigid bodies, with their inertial properties calculated directly from the 3D CAD geometry.

#+name: fig:detail_design_simscape_encoder
#+caption: 3D representation of the multi-body model. There are two configurations: encoders fixed to the struts (\subref{fig:detail_design_simscape_encoder_struts}) and encoders fixed to the plates (\subref{fig:detail_design_simscape_encoder_plates}).
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_simscape_encoder_struts}Encoders fixed to the struts}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_simscape_encoder_struts.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_simscape_encoder_plates}Encoders fixed to the plates}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :width 0.95\linewidth
[[file:figs/detail_design_simscape_encoder_plates.png]]
#+end_subfigure
#+end_figure

**** Flexible Joints

Several levels of detail were considered for modeling the flexible joints within the multi-body model.
Models with two degrees of freedom incorporating only bending stiffnesses, models with three degrees of freedom adding torsional stiffness, and models with four degrees of freedom further adding axial stiffness were evaluated.
The multi-body representation corresponding to the 4DoF configuration is shown in Figure ref:fig:detail_design_simscape_model_flexible_joint.
This model is composed of three distinct solid bodies interconnected by joints, whose stiffness properties were derived from finite element analysis of the joint component.

#+name: fig:detail_design_simscape_model_flexible_joint
#+caption: 4DoF multi-body model of the flexible joints
#+attr_latex: :scale 1
[[file:figs/detail_design_simscape_model_flexible_joint.png]]

**** Amplified Piezoelectric Actuators

The amplified piezoelectric actuators (APAs) were incorporated into the multi-body model following the methodology detailed in Section ref:sec:detail_fem_actuator.
Two distinct representations of the APA can be utilized within the simulation: a simplified 2DoF model capturing the axial behavior, or a more complex "Reduced Order Flexible Body" model derived from a finite element model.

**** Encoders

In earlier modeling stages, the relative displacement sensors (encoders) were implemented as a direct measurement of the relative distance between the joint connection points $\bm{a}_i$ and $\bm{b}_i$.
However, as indicated by the FEA results discussed previously, the flexible modes inherent to the struts could potentially affect the encoder measurement.
Therefore, a more sophisticated model of the optical encoder was necessary.

The optical encoders operate based on the interaction between an encoder head and a graduated scale or ruler.
The optical encoder head contains a light source that illuminates the ruler.
A reference frame $\{E\}$ fixed to the scale, represents the the light position on the scale, as illustrated in Figure ref:fig:detail_design_simscape_encoder_model.
The ruler features a precise grating pattern (in this case, with a $20\,\mu m$ pitch), and its position is associated with the reference frame $\{R\}$.
The displacement measured by the encoder corresponds to the relative position of the encoder frame $\{E\}$ (specifically, the point where the light interacts with the scale) with respect to the ruler frame $\{R\}$, projected along the measurement direction defined by the scale.

An important consequence of this measurement principle is that a relative rotation between the encoder head and the ruler, as depicted conceptually in Figure ref:fig:detail_design_simscape_encoder_disp, can induce a measured displacement.

#+name: fig:detail_design_simscape_encoder_model
#+caption: Representation of the encoder model in the multi-body model. Measurement $d_i$ corresponds to the $x$ position of the encoder frame $\{E\}$ expresssed in the ruller frame $\{R\}$ (\subref{fig:detail_design_simscape_encoder}). A rotation of the encoder therefore induces a measured displacement (\subref{fig:detail_design_simscape_encoder_disp}).
#+attr_latex: :options [htbp]
#+begin_figure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_simscape_encoder}Aligned encoder and ruler}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 1
[[file:figs/detail_design_simscape_encoder.png]]
#+end_subfigure
#+attr_latex: :caption \subcaption{\label{fig:detail_design_simscape_encoder_disp}Rotation of the encoder head}
#+attr_latex: :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex: :scale 1
[[file:figs/detail_design_simscape_encoder_disp.png]]
#+end_subfigure
#+end_figure

**** Validation of the designed active platform

The refined multi-body model of the active platform was integrated into the multi-body micro-station model.
Dynamical analysis was performed, confirming that the platform's behavior closely approximates the dynamics of the "idealized" model used during the conceptual design phase.
Consequently, closed-loop performance simulations replicating tomography experiments yielded metrics highly comparable to those previously predicted (as presented in Section ref:ssec:nass_hac_tomography).
Given this similarity and because analogous simulations are conducted and detailed during the experimental validation phase (Section ref:sec:test_id31_hac), these specific results are not reiterated here.

* Bibliography                                                        :ignore:
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]

