604 lines
28 KiB
Org Mode
604 lines
28 KiB
Org Mode
#+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
|
||
|
||
** 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]]
|
||
|
||
|
||
Detail design phase:
|
||
- key elements were optimized such as: actuator and flexible joints
|
||
- relative motion sensor (an encoder) was also selected
|
||
- specific kinematics of the Stewart platform (i.e. position of joints and orientation of struts) was not found to be too critical for this application.
|
||
Yet, the geometry was fixed in Section [...]
|
||
|
||
In this section, the mechanical design of the active platform, shown in Figure ref:fig:detail_design_nano_hexapod_elements, is detailed.
|
||
|
||
The main design objectives are:
|
||
- Well defined kinematics: Good positioning of the top flexible joint rotation point $\bm{b}_i$ and correct orientation of the struts $\hat{\bm{s}}_i$.
|
||
The goal is to have a well defined geometry such that the Jacobian matrix is well defined.
|
||
- Space constrains: it should fit within a cylinder with radius of $120\,\text{mm}$ and height of $95\,\text{mm}$
|
||
- As good performances were obtained with the multi-body model.
|
||
The final design should behave as close as possible to "perfect" stewart platform.
|
||
This means that the frequency of flexible modes that could be problematic for control must be made as high as possible.
|
||
- Easy mounting and alignment.
|
||
- Easy maintenance: the struts should be easily changed in case for failure.
|
||
|
||
* Mechanical Design
|
||
<<sec:detail_design_mechanics>>
|
||
**** Introduction :ignore:
|
||
**** Struts
|
||
|
||
The strut design is shown in Figure ref:fig:detail_design_strut.
|
||
|
||
The design of the struts was driven by:
|
||
- having stiff interface between the amplified piezoelectric actuator and the two flexible joints
|
||
- having stiff interface between the flexible joints and the two places (discussed afterwards)
|
||
- Because the angular stroke of the flexible joints is fairly limited, it is important to be able to mount the strut such that the two cylindrical interfaces are coaxial.
|
||
Do to so:
|
||
- A mounting bench was designed
|
||
The mounting procedure will be described in Section [...]
|
||
# TODO - Add link to section
|
||
- Cylindrical washers, shown in Figure ref:fig:detail_design_strut_without_enc, were integrated to allow for adjustments.
|
||
The issue was that the flatness between the two interface planes of the APA shown in Figure ref:fig:detail_design_apa could not be guaranteed.
|
||
With the added cylindrical washers and the mounting tool, it should be possible to well align the struts even in the presence of machining inaccuracies.
|
||
- Possibility to fix the encoder parallel to the strut, 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 are manufactured using wire-cut electrical discharge machining, allowing for:
|
||
- very tight tolerances:
|
||
- allowing good location of the center of rotation with respect to the plate interfaces (red surfaces shown in Figure ref:fig:detail_design_flexible_joint)
|
||
- allowing correct neck dimension to have the wanted properties (stiffness and angular stroke)
|
||
- Such part is fragile, mainly due to its small "neck" dimension of only $0.25\,\text{mm}$
|
||
Such machining technique has little to no cutting forces.
|
||
|
||
The flexible joints are made from a stainless steel referenced as "X5CrNiCuNb16-4" (also called "F16Ph").
|
||
This material is chosen for:
|
||
- its high yield strength: specified >1GPa using heat treatment.
|
||
- its high fatigue resistance
|
||
|
||
Figure ref:fig:detail_design_flexible_joint
|
||
- Interface with the APA has a cylindrical shape to allow the use of cylindrical washers
|
||
A slotted hole has been added to align the flexible joint with the APA using a dowel pin.
|
||
- Two threaded holes on the sides can be used to mount the encoders
|
||
- The interface with the plate will be latter described.
|
||
|
||
The amplified piezoelectric actuators are APA300ML.
|
||
Modification of the mechanical interfaces were asked to the manufacturer.
|
||
Two planes surfaces and a dowel hole were used, as shown in Figure ref:fig:detail_design_apa.
|
||
The amplifying structure, is also made of stainless steel.
|
||
|
||
#+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
|
||
|
||
To correctly measure the relative motion of each strut, the encoders need to measure the relative motion between the two flexible joint's rotational centers.
|
||
Two interface parts, made of aluminum, are used to fix the encoder and ruler to the two fleible joints as shown in Figure ref:fig:detail_design_strut_with_enc.
|
||
|
||
**** Plates
|
||
|
||
The two plates of the active platform were designed to:
|
||
- Maximize the frequency of flexible modes
|
||
- have good positioning of the top flexible joints, and good/known orientation of the struts.
|
||
|
||
To maximize the flexible joints, finite element analysis were used iteratively.
|
||
While topology optimization could have been used, a network of reinforcing ribs was used as shown in Figure ref:fig:detail_design_top_plate.
|
||
|
||
#+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 fixation interface for the joints and "V-grooves".
|
||
The cylindrical part of the flexible joint is located (or constrained) within the V-groove via two distinct line contacts (Figure ref:fig:detail_design_fixation_flexible_joints).
|
||
Therefore, these grooves are defining the initial strut orientation
|
||
High machining accuracy is required, such that during the mounting of the active platform, the flexible joints are that "rest" position
|
||
|
||
The "flat" interface of each top flexible joint is also in contact with the top platform, as shown in Figure ref:fig:detail_design_location_top_flexible_joints, such that the center of rotation of the top flexible joints $\bm{b}_i$ are well located with respect to the top platform.
|
||
|
||
The bottom flexible joints are not Figure ref:fig:detail_design_location_bot_flex
|
||
|
||
The two plates are made with a martensitic stainless steel "X30Cr13":
|
||
- It has high hardness, such that the reference surfaces to not deform when fixing the flexible joints
|
||
- This should allow to assemble and disassemble the struts many times if necessary
|
||
|
||
#+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
|
||
|
||
# TODO - Maybe this picture is not necessary
|
||
# #+name: fig:detail_design_enc_struts
|
||
# #+caption: Obtained Nano-Hexapod design
|
||
# #+attr_latex: :width 0.9\linewidth
|
||
# [[file:figs/detail_design_enc_struts.jpg]]
|
||
|
||
Finite element analysis of the complete active platform was performed to identify problematic modes (Figure ref:fig:detail_design_fem_nano_hexapod):
|
||
- First six modes were found to be "suspension" modes were the top plate moves as a rigid body, and the six struts are only moving axially (Figure ref:fig:detail_design_fem_rigid_body_mode)
|
||
- Then, between $205\,\text{Hz}$ and $420\,\text{Hz}$ many "local" modes of the struts were observed.
|
||
On is represented in Figure ref:fig:detail_design_fem_strut_mode.
|
||
While these modes seem not to induce any motion of the top platform, it induces a relative displacement of the encoder with respect to the ruler.
|
||
Therefore, when controlling the position of the active platform using the encoders, such modes could be problematic.
|
||
Whether these modes are problematic is difficult to estimate at this point as:
|
||
- it is not known if the APA will "excite" these modes
|
||
- theoretically, if the struts are well aligned, these modes should not be observed
|
||
Then, flexible modes of the top plate are appearing above $650\,\text{Hz}$ (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
|
||
|
||
To anticipate potential issue with local modes of the struts, an alternative fixation for the encoder is planned:
|
||
- Instead of being fixed to the struts, the encoders are fixed to the plates instead, as shown in Figure ref:fig:detail_design_enc_plates_design.
|
||
- The support are made of aluminum, and it is verified that the natural modes are at high enough frequency (Figure ref:fig:detail_design_enc_support_modes).
|
||
- The positioning of the encoders are made using pockets in both plates as shown in Figure ref:fig:detail_design_top_plate.
|
||
- The encoders are aligned parallel to the struts, but yet they don't exactly measure the relative motion of each strut.
|
||
- This means that if relative motion of the active platform is performed based on the encoders, the accuracy of the motion may be affected.
|
||
The issue is that the Kinematics may not be correct.
|
||
|
||
#+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_enc_support_modes
|
||
#+caption: Finite Element Analysis of the encoder supports. Encoder inertia was taken into account.
|
||
#+attr_latex: :options [htbp]
|
||
#+begin_figure
|
||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_enc_support_mode_1}$1^{\text{st}}$ mode at $1120\,\text{Hz}$}
|
||
#+attr_latex: :options {0.33\textwidth}
|
||
#+begin_subfigure
|
||
#+attr_latex: :scale 0.5
|
||
[[file:figs/detail_design_enc_support_mode_1.jpg]]
|
||
#+end_subfigure
|
||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_enc_support_mode_2}$2^{\text{nd}}$ mode at $2020\,\text{Hz}$}
|
||
#+attr_latex: :options {0.33\textwidth}
|
||
#+begin_subfigure
|
||
#+attr_latex: :scale 0.5
|
||
[[file:figs/detail_design_enc_support_mode_2.jpg]]
|
||
#+end_subfigure
|
||
#+attr_latex: :caption \subcaption{\label{fig:detail_design_enc_support_mode_3}$3^{\text{rd}}$ mode at $2080\,\text{Hz}$}
|
||
#+attr_latex: :options {0.33\textwidth}
|
||
#+begin_subfigure
|
||
#+attr_latex: :scale 0.5
|
||
[[file:figs/detail_design_enc_support_mode_3.jpg]]
|
||
#+end_subfigure
|
||
#+end_figure
|
||
|
||
* Multi-Body Model
|
||
<<sec:detail_design_model>>
|
||
**** Introduction :ignore:
|
||
|
||
Before all the mechanical parts were ordered, the multi-body model of the active platform was refined using the design parts.
|
||
|
||
Two configurations, displayed in Figure ref:fig:detail_design_simscape_encoder, were considered:
|
||
- Encoders fixed to the struts
|
||
- Encoders fixed to the plates
|
||
|
||
Plates were modelled as rigid bodies, with inertia computed from the 3D shape.
|
||
|
||
#+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
|
||
|
||
Different models of the flexible joints where considered:
|
||
- 2DoF: only bending stiffnesses
|
||
- 3DoF: added torsional stiffness
|
||
- 4DoF: added axial stiffness
|
||
|
||
The multi-body model for the 4DoF configuration is shown in Figure ref:fig:detail_design_simscape_model_flexible_joint.
|
||
It is composed of three solid bodies connected by joints whose stiffnesses are computed from the finite element model.
|
||
|
||
#+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
|
||
|
||
The amplified piezoelectric actuators are modelled as explained in Section [..].
|
||
# Add link to section
|
||
Two different models can be used in the multi-body model:
|
||
- a 2DoF "axial" model
|
||
- a "super-element" extracted from the finite element model
|
||
|
||
**** Encoders
|
||
|
||
Up to now, relative displacement sensors were implemented as a relative distance measurement between $\bm{a}_i$ and $\bm{b}_i$.
|
||
|
||
As shown in the previous section, flexible modes of the struts may negatively impact the encoder signal.
|
||
It was therefore necessary to better model the encoder.
|
||
|
||
The optical encoder works:
|
||
- Encoder heads contains a light source shine on the ruler, and a photo-diode.
|
||
This is represented by frame $\{E\}$ in Figure ref:fig:detail_design_simscape_encoder.
|
||
- ruler or scale with a grating (here with a $20\,\mu m$ pitch). A reference frame is indicated by $\{R\}$
|
||
|
||
Therefore, the measured displacement is the relative position of $\{E\}$ (i.e. there the light "hits" the scale) with respect to frame $\{R\}$, in the direction of the scale.
|
||
|
||
|
||
In that case, a rotation of the encoder, as shown in figure ref:fig:detail_design_simscape_encoder_disp induces 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
|
||
|
||
**** Simulation
|
||
|
||
Based on this refined model:
|
||
- the active platform could be integrated on top of the micro-station's model.
|
||
- the obtained dynamics was considered good
|
||
- simulations of tomography experiments were performed, and similar performance were obtained as during the conceptual design
|
||
- this is not presented here as results are very similar to the simulations performed in Section [...]
|
||
# Add link to section
|
||
|
||
* Conclusion
|
||
<<sec:detail_design_conclusion>>
|
||
|
||
* Bibliography :ignore:
|
||
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]
|
||
|