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
 |