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
|