-
-#+end_export
-
#+latex: \clearpage
* Build :noexport:
@@ -96,59 +91,416 @@
#+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
+
+** TODO [#C] Summary of the specifications
+
+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
+
+** TODO [#C] Explain the good wanted flatness for the APA
+
+#+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
+
+** TODO [#C] Understand why hexapod stiffness (maximizing suspension modes) is often the main design goal
+
+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:
+#+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]]
+
+
+*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
+
+
Presentation of the obtained design:
- Fixation
+- Section on: Complete strut
- Cable management
- Plates design
- FEM results
-- Table some pictures from here: [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-nano-hexapod-assembly/nass-nano-hexapod-assembly.org][nass-nano-hexapod-assembly]]
- Explain again the different specifications in terms of space, payload, etc..
- CAD view of the nano-hexapod
- Chosen geometry, materials, ease of mounting, cabling, ...
- Validation on Simscape with accurate model?
-#+name: tab:nass_design_section_matlab_code
-#+caption: Report sections and corresponding Matlab files
-#+attr_latex: :environment tabularx :width 0.6\linewidth :align lX
-#+attr_latex: :center t :booktabs t
-| *Sections* | *Matlab File* |
-|----------------------------------+------------------------|
-| Section ref:sec:nass_design_ | =nass_design_1_.m= |
+* Mechanical Design
+<>
+
+** Struts
+**** Introduction :ignore:
+
+#+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: :width 0.95\linewidth
+[[file:figs/detail_design_strut_without_enc.jpg]]
+#+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: :width 0.95\linewidth
+[[file:figs/detail_design_strut_with_enc.jpg]]
+#+end_subfigure
+#+end_figure
+
+**** Flexible joints
+
+Flexible joints: X5CrNiCuNb16-4 (F16Ph)
+- high yield strength: specified >1GPa using heat treatment
+- high fatigue resistance
+
+#+name: fig:detail_design_apa_joints
+#+caption: Two main components of the struts: the amplified piezoelectric actuator (\subref{fig:detail_design_apa}) and the flexible joint (\subref{fig:detail_design_flexible_joint}).
+#+attr_latex: :options [htbp]
+#+begin_figure
+#+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
+#+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
+#+end_figure
+
+**** Piezoelectric Amplified Actuators
+
+APA: modification for better mounting
+
+**** Encoder support
+
+All other parts are made of aluminum.
+
+** Plates
+
+Plates: X30Cr13
+- high hardness to not deform
-* Amplified Piezoelectric Design
+- Maximize frequency of flexible modes (show FEM)
+- Good tolerances for interfaces with flexible joints
+ Positioning of =bi= and orientation =si=
+
+#+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 cylindrical component is located (or constrained) within the V-groove via two distinct line contacts.
+
+#+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
+
+** Finite Element Analysis
+
+
+#+name: fig:detail_design_enc_struts
+#+caption: Obtained Nano-Hexapod design
+#+attr_latex: :width 0.9\linewidth
+[[file:figs/detail_design_enc_struts.jpg]]
+
+- FEM of complete system
+- Show modes of the struts
+
+#+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 modes}
+#+attr_latex: :options {0.33\textwidth}
+#+begin_subfigure
+#+attr_latex: :width 0.9\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 modes}
+#+attr_latex: :options {0.33\textwidth}
+#+begin_subfigure
+#+attr_latex: :width 0.9\linewidth
+[[file:figs/detail_design_fem_strut_mode.jpg]]
+#+end_subfigure
+#+attr_latex: :caption \subcaption{\label{fig:detail_design_fem_plate_mode}Top plate modes}
+#+attr_latex: :options {0.33\textwidth}
+#+begin_subfigure
+#+attr_latex: :width 0.9\linewidth
+[[file:figs/detail_design_fem_plate_mode.jpg]]
+#+end_subfigure
+#+end_figure
+
+** Obtained Design
+
+- Alternative encoder position: on the plates
+- Support made of aluminum
+
+#+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
+
+
+#+name: fig:detail_design_fem_encoder_fix
+#+caption: Finite Element Analysis of the encoder supports. Encoder inertia was taken into account.
+[[file:figs/detail_design_fem_encoder_fix.png]]
+
+* Multi-Body Model
:PROPERTIES:
-:HEADER-ARGS:matlab+: :tangle matlab/nass_design_1_.m
+:HEADER-ARGS:matlab+: :tangle matlab/detail_design_1_model.m
:END:
-<>
+<>
+
+*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:
-** Matlab Init :noexport:ignore:
-#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
-<>
-#+end_src
+Two configurations:
+- Encoders fixed to the struts
+- Encoders fixed to the plates
-#+begin_src matlab :exports none :results silent :noweb yes
-<>
-#+end_src
+#+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
-#+begin_src matlab :tangle no :noweb yes
-<>
-#+end_src
-#+begin_src matlab :eval no :noweb yes
-<>
-#+end_src
+** Flexible Joints
+
+#+name: fig:detail_design_simscape_model_flexible_joint
+#+caption: Multi-Body (using the Simscape software) model of the flexible joints. A 4-DoFs model is shown.
+#+attr_latex: :scale 1
+[[file:figs/detail_design_simscape_model_flexible_joint.png]]
+
+** Amplified Piezoelectric Actuators
+
+
+
+** Encoders
+
+#+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
-#+begin_src matlab :noweb yes
-<>
-#+end_src
* Conclusion
-<>
+<>
* Bibliography :ignore:
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]
diff --git a/nass-design.pdf b/nass-design.pdf
index 0e3df68..59357be 100644
Binary files a/nass-design.pdf and b/nass-design.pdf differ
diff --git a/nass-design.tex b/nass-design.tex
index 6dc843c..e7422d6 100644
--- a/nass-design.tex
+++ b/nass-design.tex
@@ -1,8 +1,9 @@
-% Created 2024-03-19 Tue 11:13
+% Created 2025-04-21 Mon 16:49
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
\input{preamble.tex}
+\input{preamble_extra.tex}
\bibliography{nass-design.bib}
\author{Dehaeze Thomas}
\date{\today}
@@ -12,7 +13,7 @@
pdftitle={Nano Hexapod - Obtained Design},
pdfkeywords={},
pdfsubject={},
- pdfcreator={Emacs 29.2 (Org mode 9.7)},
+ pdfcreator={Emacs 30.1 (Org mode 9.7.26)},
pdflang={English}}
\usepackage{biblatex}
@@ -22,33 +23,250 @@
\tableofcontents
\clearpage
+\begin{figure}[htbp]
+\centering
+\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_nano_hexapod_elements.png}
+\caption{\label{fig:detail_design_nano_hexapod_elements}Obtained mechanical design of the Active platform, the ``nano-hexapod''}
+\end{figure}
+
+
+\textbf{Design goals}:
+\begin{itemize}
+\item Position \texttt{bi} and \texttt{si}
+\item Maximum height of 95mm
+\item As close as possible to ``perfect'' stewart platform: flexible modes at high frequency
+\item Easy mounting, easy change of strut in case of failure
+\end{itemize}
+
+
Presentation of the obtained design:
\begin{itemize}
\item Fixation
+\item Section on: Complete strut
\item Cable management
\item Plates design
\item FEM results
-\item Table some pictures from here: \href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/nass-nano-hexapod-assembly/nass-nano-hexapod-assembly.org}{nass-nano-hexapod-assembly}
\item Explain again the different specifications in terms of space, payload, etc..
\item CAD view of the nano-hexapod
\item Chosen geometry, materials, ease of mounting, cabling, \ldots{}
\item Validation on Simscape with accurate model?
\end{itemize}
+\chapter{Mechanical Design}
+\label{sec:detail_design_mechanics}
+\section{Struts}
+\begin{figure}[htbp]
+\begin{subfigure}{0.49\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_strut_without_enc.jpg}
+\end{center}
+\subcaption{\label{fig:detail_design_strut_without_enc}Before encoder integration}
+\end{subfigure}
+\begin{subfigure}{0.49\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_strut_with_enc.jpg}
+\end{center}
+\subcaption{\label{fig:detail_design_strut_with_enc}With the mounted encoder}
+\end{subfigure}
+\caption{\label{fig:detail_design_strut}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.}
+\end{figure}
+\subsubsection{Flexible joints}
-\begin{table}[htbp]
-\caption{\label{tab:nass_design_section_matlab_code}Report sections and corresponding Matlab files}
+Flexible joints: X5CrNiCuNb16-4 (F16Ph)
+\begin{itemize}
+\item high yield strength: specified >1GPa using heat treatment
+\item high fatigue resistance
+\end{itemize}
+
+\begin{figure}[htbp]
+\begin{subfigure}{0.49\textwidth}
+\begin{center}
+\includegraphics[scale=1,scale=1]{figs/detail_design_apa.png}
+\end{center}
+\subcaption{\label{fig:detail_design_apa}Amplified Piezoelectric Actuator}
+\end{subfigure}
+\begin{subfigure}{0.49\textwidth}
+\begin{center}
+\includegraphics[scale=1,scale=1]{figs/detail_design_flexible_joint.png}
+\end{center}
+\subcaption{\label{fig:detail_design_flexible_joint}Flexible joint}
+\end{subfigure}
+\caption{\label{fig:detail_design_apa_joints}Two main components of the struts: the amplified piezoelectric actuator (\subref{fig:detail_design_apa}) and the flexible joint (\subref{fig:detail_design_flexible_joint}).}
+\end{figure}
+\subsubsection{Piezoelectric Amplified Actuators}
+
+APA: modification for better mounting
+\subsubsection{Encoder support}
+
+All other parts are made of aluminum.
+\section{Plates}
+
+Plates: X30Cr13
+\begin{itemize}
+\item high hardness to not deform
+\end{itemize}
+
+
+\begin{itemize}
+\item Maximize frequency of flexible modes (show FEM)
+\item Good tolerances for interfaces with flexible joints
+Positioning of \texttt{bi} and orientation \texttt{si}
+\end{itemize}
+
+\begin{figure}[htbp]
\centering
-\begin{tabularx}{0.6\linewidth}{lX}
-\toprule
-\textbf{Sections} & \textbf{Matlab File}\\
-\midrule
-Section \ref{sec:nass_design}\_ & \texttt{nass\_design\_1\_.m}\\
-\bottomrule
-\end{tabularx}
-\end{table}
-\chapter{Amplified Piezoelectric Design}
-\label{sec:nass_design_mechanics}
+\includegraphics[scale=1,scale=1]{figs/detail_design_top_plate.png}
+\caption{\label{fig:detail_design_top_plate}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.}
+\end{figure}
+
+The cylindrical component is located (or constrained) within the V-groove via two distinct line contacts.
+
+\begin{figure}
+\begin{subfigure}{0.33\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.99\linewidth]{figs/detail_design_fixation_flexible_joints.png}
+\end{center}
+\subcaption{\label{fig:detail_design_fixation_flexible_joints}Flexible Joint Clamping}
+\end{subfigure}
+\begin{subfigure}{0.33\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.99\linewidth]{figs/detail_design_location_top_flexible_joints.png}
+\end{center}
+\subcaption{\label{fig:detail_design_location_top_flexible_joints}Top positioning}
+\end{subfigure}
+\begin{subfigure}{0.33\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.99\linewidth]{figs/detail_design_location_bot_flex.png}
+\end{center}
+\subcaption{\label{fig:detail_design_location_bot_flex}Bottom Positioning}
+\end{subfigure}
+\caption{\label{fig:detail_design_fixation_flexible_joints}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}).}
+\end{figure}
+\section{Finite Element Analysis}
+
+
+\begin{figure}[htbp]
+\centering
+\includegraphics[scale=1,width=0.9\linewidth]{figs/detail_design_enc_struts.jpg}
+\caption{\label{fig:detail_design_enc_struts}Obtained Nano-Hexapod design}
+\end{figure}
+
+\begin{itemize}
+\item FEM of complete system
+\item Show modes of the struts
+\end{itemize}
+
+\begin{figure}[htbp]
+\begin{subfigure}{0.33\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.9\linewidth]{figs/detail_design_fem_rigid_body_mode.jpg}
+\end{center}
+\subcaption{\label{fig:detail_design_fem_rigid_body_mode}Suspension modes}
+\end{subfigure}
+\begin{subfigure}{0.33\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.9\linewidth]{figs/detail_design_fem_strut_mode.jpg}
+\end{center}
+\subcaption{\label{fig:detail_design_fem_strut_mode}Strut - Local modes}
+\end{subfigure}
+\begin{subfigure}{0.33\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.9\linewidth]{figs/detail_design_fem_plate_mode.jpg}
+\end{center}
+\subcaption{\label{fig:detail_design_fem_plate_mode}Top plate modes}
+\end{subfigure}
+\caption{\label{fig:detail_design_fem_nano_hexapod}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})}
+\end{figure}
+\section{Obtained Design}
+
+\begin{itemize}
+\item Alternative encoder position: on the plates
+\item Support made of aluminum
+\end{itemize}
+
+\begin{figure}[htbp]
+\begin{subfigure}{0.59\textwidth}
+\begin{center}
+\includegraphics[scale=1,height=5cm]{figs/detail_design_enc_plates.jpg}
+\end{center}
+\subcaption{\label{fig:detail_design_enc_plates}Nano-Hexapod with encoders fixed to the plates}
+\end{subfigure}
+\begin{subfigure}{0.39\textwidth}
+\begin{center}
+\includegraphics[scale=1,height=5cm]{figs/detail_design_encoders_plates.jpg}
+\end{center}
+\subcaption{\label{fig:detail_design_encoders_plates}Zoom on encoder fixation}
+\end{subfigure}
+\caption{\label{fig:detail_design_enc_plates_design}Alternative way of using the encoders: they are fixed directly to the plates.}
+\end{figure}
+
+
+\begin{figure}[htbp]
+\centering
+\includegraphics[scale=1]{figs/detail_design_fem_encoder_fix.png}
+\caption{\label{fig:detail_design_fem_encoder_fix}Finite Element Analysis of the encoder supports. Encoder inertia was taken into account.}
+\end{figure}
+\chapter{Multi-Body Model}
+\label{sec:detail_design_model}
+
+\textbf{Multi body Model}:
+\begin{itemize}
+\item Complete model: two plates, 6 joints, 6 actuators, 6 encoders
+\item Joint Model
+\item APA Model
+\item Encoder model
+\item Say that obtained dynamics was considered good + possible to perform simulations of tomography experiments with same performance as during the conceptual design
+\end{itemize}
+
+Two configurations:
+\begin{itemize}
+\item Encoders fixed to the struts
+\item Encoders fixed to the plates
+\end{itemize}
+
+\begin{figure}[htbp]
+\begin{subfigure}{0.49\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_simscape_encoder_struts.png}
+\end{center}
+\subcaption{\label{fig:detail_design_simscape_encoder_struts}Encoders fixed to the struts}
+\end{subfigure}
+\begin{subfigure}{0.49\textwidth}
+\begin{center}
+\includegraphics[scale=1,width=0.95\linewidth]{figs/detail_design_simscape_encoder_plates.png}
+\end{center}
+\subcaption{\label{fig:detail_design_simscape_encoder_plates}Encoders fixed to the plates}
+\end{subfigure}
+\caption{\label{fig:detail_design_simscape_encoder}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}).}
+\end{figure}
+\section{Flexible Joints}
+
+\begin{figure}[htbp]
+\centering
+\includegraphics[scale=1,scale=1]{figs/detail_design_simscape_model_flexible_joint.png}
+\caption{\label{fig:detail_design_simscape_model_flexible_joint}Multi-Body (using the Simscape software) model of the flexible joints. A 4-DoFs model is shown.}
+\end{figure}
+\section{Amplified Piezoelectric Actuators}
+
+
+
+\section{Encoders}
+
+\begin{figure}[htbp]
+\begin{subfigure}{0.49\textwidth}
+\begin{center}
+\includegraphics[scale=1,scale=1]{figs/detail_design_simscape_encoder.png}
+\end{center}
+\subcaption{\label{fig:detail_design_simscape_encoder}Aligned encoder and ruler}
+\end{subfigure}
+\begin{subfigure}{0.49\textwidth}
+\begin{center}
+\includegraphics[scale=1,scale=1]{figs/detail_design_simscape_encoder_disp.png}
+\end{center}
+\subcaption{\label{fig:detail_design_simscape_encoder_disp}Rotation of the encoder head}
+\end{subfigure}
+\caption{\label{fig:detail_design_simscape_encoder_model}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}).}
+\end{figure}
\chapter{Conclusion}
-\label{sec:nass_design_conclusion}
+\label{sec:detail_design_conclusion}
\printbibliography[heading=bibintoc,title={Bibliography}]
\end{document}
diff --git a/preamble.tex b/preamble.tex
index d18dbd9..adafd1c 100644
--- a/preamble.tex
+++ b/preamble.tex
@@ -1,137 +1,16 @@
-\usepackage{float}
+\usepackage[ %
+ acronym, % Separate acronyms and glossary
+ toc, % appear in ToC
+ automake, % auto-use the makeglossaries command (requires shell-escape)
+ nonumberlist, % don't back reference pages
+ nogroupskip, % don't group by letter
+ nopostdot % don't add a dot at the end of each element
+]{glossaries}
-\usepackage{caption,tabularx,booktabs}
-\usepackage{bm}
+\usepackage[stylemods=longextra]{glossaries-extra}
-\usepackage{xpatch} % Recommanded for biblatex
-\usepackage[ % use biblatex for bibliography
- backend=biber, % use biber backend (bibtex replacement) or bibtex
- style=ieee, % bib style
- hyperref=true, % activate hyperref support
- backref=true, % activate backrefs
- isbn=false, % don't show isbn tags
- url=false, % don't show url tags
- doi=false, % don't show doi tags
- urldate=long, % display type for dates
- maxnames=3, %
- minnames=1, %
- maxbibnames=5, %
- minbibnames=3, %
- maxcitenames=2, %
- mincitenames=1 %
- ]{biblatex}
+\setabbreviationstyle[acronym]{long-short}
+\setglossarystyle{long-name-desc}
-\setlength\bibitemsep{1.1\itemsep}
-
-% \renewcommand*{\bibfont}{\footnotesize}
-
-\usepackage{fontawesome}
-
-\usepackage{caption}
-\usepackage{subcaption}
-
-\captionsetup[figure]{labelfont=bf}
-\captionsetup[subfigure]{labelfont=bf}
-\captionsetup[listing]{labelfont=bf}
-\captionsetup[table]{labelfont=bf}
-
-\usepackage{xcolor}
-
-\definecolor{my-blue}{HTML}{6b7adb}
-\definecolor{my-pale-blue}{HTML}{e6e9f9}
-\definecolor{my-red}{HTML}{db6b6b}
-\definecolor{my-pale-red}{HTML}{f9e6e6}
-\definecolor{my-green}{HTML}{6bdbb6}
-\definecolor{my-pale-green}{HTML}{e6f9f3}
-\definecolor{my-yellow}{HTML}{dbd26b}
-\definecolor{my-pale-yellow}{HTML}{f9f7e6}
-\definecolor{my-orange}{HTML}{dba76b}
-\definecolor{my-pale-orange}{HTML}{f9f0e6}
-\definecolor{my-grey}{HTML}{a3a3a3}
-\definecolor{my-pale-grey}{HTML}{f0f0f0}
-\definecolor{my-turq}{HTML}{6bc7db}
-\definecolor{my-pale-turq}{HTML}{e6f6f9}
-
-\usepackage{inconsolata}
-
-\usepackage[newfloat=true, chapter]{minted}
-\usemintedstyle{autumn}
-
-\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey}
-\setminted[matlab]{label=Matlab}
-\setminted[latex]{label=LaTeX}
-\setminted[bash]{label=Bash}
-\setminted[python]{label=Python}
-\setminted[text]{label=Results}
-\setminted[md]{label=Org Mode}
-
-\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey}
-
-\usepackage[most]{tcolorbox}
-
-\tcbuselibrary{minted}
-
-\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
-\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
-\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
-\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
-\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
-\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
-\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
-\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
-\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
-\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note}
-\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
-\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
-
-\newtcolorbox{my-quote}[1]{%
- colback=my-pale-grey,
- grow to right by=-10mm,
- grow to left by=-10mm,
- boxrule=0pt,
- boxsep=0pt,
- breakable,
- enhanced jigsaw,
- borderline west={4pt}{0pt}{my-grey}}
-
-\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}}
-
-\newtcolorbox{my-verse}[1]{%
- colback=my-pale-grey,
- grow to right by=-10mm,
- grow to left by=-10mm,
- boxrule=0pt,
- boxsep=0pt,
- breakable,
- enhanced jigsaw,
- borderline west={4pt}{0pt}{my-grey}}
-
-\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}}
-
-\usepackage{environ}% http://ctan.org/pkg/environ
-\NewEnviron{aside}{%
- \marginpar{\BODY}
-}
-
-\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}}
-
-\usepackage{soul}
-\sethlcolor{my-pale-grey}
-
-\let\OldTexttt\texttt
-\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}}
-
-\makeatletter
-\preto\Gin@extensions{png,}
-\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
-\preto\Gin@extensions{gif,}
-\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png}
-\makeatother
-
-\usepackage{hyperref}
-\hypersetup{
- colorlinks = true,
- allcolors = my-blue
-}
-
-\usepackage{hypcap}
+\makeindex
+\makeglossaries
diff --git a/preamble_extra.tex b/preamble_extra.tex
new file mode 100644
index 0000000..98cfc04
--- /dev/null
+++ b/preamble_extra.tex
@@ -0,0 +1,134 @@
+\usepackage{float}
+\usepackage{enumitem}
+
+\usepackage{caption,tabularx,booktabs}
+\usepackage{bm}
+
+\usepackage{xpatch} % Recommanded for biblatex
+\usepackage[ % use biblatex for bibliography
+ backend=biber, % use biber backend (bibtex replacement) or bibtex
+ style=ieee, % bib style
+ hyperref=true, % activate hyperref support
+ backref=true, % activate backrefs
+ isbn=false, % don't show isbn tags
+ url=false, % don't show url tags
+ doi=false, % don't show doi tags
+ urldate=long, % display type for dates
+ maxnames=3, %
+ minnames=1, %
+ maxbibnames=5, %
+ minbibnames=3, %
+ maxcitenames=2, %
+ mincitenames=1 %
+ ]{biblatex}
+
+\setlength\bibitemsep{1.1\itemsep}
+
+\usepackage{caption}
+\usepackage{subcaption}
+
+\captionsetup[figure]{labelfont=bf}
+\captionsetup[subfigure]{labelfont=bf}
+\captionsetup[listing]{labelfont=bf}
+\captionsetup[table]{labelfont=bf}
+
+\usepackage{xcolor}
+
+\definecolor{my-blue}{HTML}{6b7adb}
+\definecolor{my-pale-blue}{HTML}{e6e9f9}
+\definecolor{my-red}{HTML}{db6b6b}
+\definecolor{my-pale-red}{HTML}{f9e6e6}
+\definecolor{my-green}{HTML}{6bdbb6}
+\definecolor{my-pale-green}{HTML}{e6f9f3}
+\definecolor{my-yellow}{HTML}{dbd26b}
+\definecolor{my-pale-yellow}{HTML}{f9f7e6}
+\definecolor{my-orange}{HTML}{dba76b}
+\definecolor{my-pale-orange}{HTML}{f9f0e6}
+\definecolor{my-grey}{HTML}{a3a3a3}
+\definecolor{my-pale-grey}{HTML}{f0f0f0}
+\definecolor{my-turq}{HTML}{6bc7db}
+\definecolor{my-pale-turq}{HTML}{e6f6f9}
+
+\usepackage{inconsolata}
+
+\usepackage[newfloat=true, chapter]{minted}
+\usemintedstyle{autumn}
+
+\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey}
+\setminted[matlab]{label=Matlab}
+\setminted[latex]{label=LaTeX}
+\setminted[bash]{label=Bash}
+\setminted[python]{label=Python}
+\setminted[text]{label=Results}
+\setminted[md]{label=Org Mode}
+
+\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey}
+
+\usepackage[most]{tcolorbox}
+
+\tcbuselibrary{minted}
+
+\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
+\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
+\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
+\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
+\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
+\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
+\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
+\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
+\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
+\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note}
+\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
+\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
+
+\newtcolorbox{my-quote}[1]{%
+ colback=my-pale-grey,
+ grow to right by=-10mm,
+ grow to left by=-10mm,
+ boxrule=0pt,
+ boxsep=0pt,
+ breakable,
+ enhanced jigsaw,
+ borderline west={4pt}{0pt}{my-grey}}
+
+\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}}
+
+\newtcolorbox{my-verse}[1]{%
+ colback=my-pale-grey,
+ grow to right by=-10mm,
+ grow to left by=-10mm,
+ boxrule=0pt,
+ boxsep=0pt,
+ breakable,
+ enhanced jigsaw,
+ borderline west={4pt}{0pt}{my-grey}}
+
+\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}}
+
+\usepackage{environ}% http://ctan.org/pkg/environ
+\NewEnviron{aside}{%
+ \marginpar{\BODY}
+}
+
+\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}}
+
+\usepackage{soul}
+\sethlcolor{my-pale-grey}
+
+\let\OldTexttt\texttt
+\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}}
+
+\makeatletter
+\preto\Gin@extensions{png,}
+\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
+\preto\Gin@extensions{gif,}
+\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png}
+\makeatother
+
+\usepackage{hyperref}
+\hypersetup{
+ colorlinks = true,
+ allcolors = my-blue
+}
+
+\usepackage{hypcap}