529 lines
20 KiB
Org Mode
529 lines
20 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]]
|
||
|
||
|
||
*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
|
||
- 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?
|
||
|
||
* Mechanical Design
|
||
<<sec:detail_design_mechanics>>
|
||
|
||
** 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
|
||
|
||
|
||
- 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/detail_design_1_model.m
|
||
:END:
|
||
<<sec:detail_design_model>>
|
||
|
||
*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:
|
||
|
||
Two configurations:
|
||
- Encoders fixed to the struts
|
||
- Encoders fixed to the plates
|
||
|
||
#+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
|
||
|
||
#+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
|
||
|
||
|
||
* Conclusion
|
||
<<sec:detail_design_conclusion>>
|
||
|
||
* Bibliography :ignore:
|
||
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]
|
||
|
||
* Helping Functions :noexport:
|
||
** Initialize Path
|
||
#+NAME: m-init-path
|
||
#+BEGIN_SRC matlab
|
||
%% Path for functions, data and scripts
|
||
addpath('./matlab/mat/'); % Path for data
|
||
addpath('./matlab/'); % Path for scripts
|
||
#+END_SRC
|
||
|
||
#+NAME: m-init-path-tangle
|
||
#+BEGIN_SRC matlab
|
||
%% Path for functions, data and scripts
|
||
addpath('./mat/'); % Path for data
|
||
#+END_SRC
|
||
|
||
** Initialize other elements
|
||
#+NAME: m-init-other
|
||
#+BEGIN_SRC matlab
|
||
%% Colors for the figures
|
||
colors = colororder;
|
||
#+END_SRC
|