2023-02-07 09:35:47 +01:00
#+TITLE : Mechatronic approach for the design of a Nano Active Stabilization System
2019-10-08 16:03:40 +02:00
:DRAWER:
2023-02-07 09:35:47 +01:00
#+SUBTITLE : PhD Thesis
2021-05-19 19:21:46 +02:00
2019-10-08 16:03:40 +02:00
#+LANGUAGE : en
#+EMAIL : dehaeze.thomas@gmail.com
#+AUTHOR : Dehaeze Thomas
#+STARTUP : overview
#+DATE : {{{time(%Y-%m-%d)}}}
#+LATEX_CLASS : scrreprt
2021-12-09 15:56:34 +01:00
#+LATEX_CLASS_OPTIONS : [a4paper, twoside, 11pt, onecolumn, bibliography=totoc, openright, appendixprefix=true]
2019-10-08 16:03:40 +02:00
2021-12-09 17:22:40 +01:00
#+OPTIONS : num:t toc:nil ':t *:t -:t ::t <:nil author:t date:t tags:nil todo:nil |:t H:4 title:nil
2021-05-19 19:21:46 +02:00
#+SELECT_TAGS : export
#+EXCLUDE_TAGS : noexport
2021-05-19 17:32:47 +02:00
#+BIND : org-latex-bib-compiler "biber"
2019-10-08 16:03:40 +02:00
2024-04-12 09:32:02 +02:00
#+TODO : TODO(t) MAKE(m) COPY(c) | DONE(d)
2021-05-19 17:32:47 +02:00
#+LATEX_HEADER : \input{config.tex}
#+LATEX_HEADER_EXTRA : \input{config_extra.tex}
2021-12-09 15:56:34 +01:00
#+LATEX_HEADER_EXTRA : \addbibresource{ref.bib}
2024-04-12 09:32:02 +02:00
#+LATEX_HEADER_EXTRA : \addbibresource{phd-thesis.bib}
2021-12-09 15:56:34 +01:00
#+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+ :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")
2019-10-08 16:03:40 +02:00
:END:
2021-05-19 19:05:52 +02:00
* Build :noexport:
2019-10-08 16:03:40 +02:00
#+NAME : startblock
#+BEGIN_SRC emacs-lisp :results none
2021-05-19 17:32:47 +02:00
(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}")
))
2021-12-09 17:22:40 +01:00
;; 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)
2021-05-19 19:21:46 +02:00
;; 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)
2021-05-19 17:32:47 +02:00
2021-05-19 19:21:46 +02:00
;; Use no package by default
(setq org-latex-packages-alist nil)
(setq org-latex-default-packages-alist nil)
2021-12-09 15:56:34 +01:00
;; Do not include the subtitle inside the title
2021-05-19 19:21:46 +02:00
(setq org-latex-subtitle-separate t)
(setq org-latex-subtitle-format "\\subtitle{%s}")
2021-05-19 17:32:47 +02:00
2021-12-09 16:54:14 +01:00
(setq org-export-before-parsing-hook '(org-ref-glossary-before-parsing
org-ref-acronyms-before-parsing))
#+END_SRC
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
* Useful snippets :noexport:
- acronyms acrshort:nass acrshort:mimo acrshort:lti [[acrfull:siso ][Single-Input Single-Output (SISO) ]]
- glossary terms gls:ka, gls:phi.
- Footnote[fn:1]
2021-05-19 17:32:47 +02:00
* Glossary and Acronyms - Tables :ignore:
#+name : glossary
| label | name | description |
|-------+-------------------+-----------------------|
| ka | \ensuremath{k_a} | Actuator Stiffness in |
| phi | \ensuremath{\phi} | A woody bush |
#+name : acronyms
2024-04-12 09:32:02 +02:00
| key | abbreviation | full form |
|------+--------------+-----------------------------------------|
| mimo | MIMO | Multiple-Inputs Multiple-Outputs |
| siso | SISO | Single-Input Single-Output |
| nass | NASS | Nano Active Stabilization System |
| lti | LTI | Linear Time Invariant |
| esrf | ESRF | European Synchrotron Radiation Facility |
2021-05-19 17:32:47 +02:00
2021-05-19 19:21:46 +02:00
* Title Page :ignore:
#+begin_export latex
\begin{titlepage}
\vspace*{5cm}
\makeatletter
\begin{center}
\begin{Huge}
\@title
\end{Huge}\\[0.1cm]
%
\begin{Large}
\@subtitle
\end{Large}\\
%
\emph{by}\\
\@author
%
\vfill
2023-02-07 09:35:47 +01:00
A thesis submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (PhD) in Engineering Science\\
2021-05-19 19:21:46 +02:00
at\\
2023-02-07 09:35:47 +01:00
\textsc{Liège Université}
2021-05-19 19:21:46 +02:00
\end{center}
\makeatother
\end{titlepage}
\newpage
\null
\thispagestyle{empty}
\newpage
#+end_export
2021-12-09 15:56:34 +01:00
* Abstract
:PROPERTIES:
:UNNUMBERED: notoc
:END:
2024-04-12 09:32:02 +02:00
\gls{phi}
2021-12-09 15:56:34 +01:00
* Résumé
:PROPERTIES:
:UNNUMBERED: notoc
:END:
* Acknowledgments
:PROPERTIES:
:UNNUMBERED: notoc
:END:
* Table of Contents :ignore:
#+begin_export latex
\dominitoc
\tableofcontents
\listoftables
\listoffigures
#+end_export
* Introduction
2023-02-07 09:35:47 +01:00
** Context of this thesis / Background and Motivation
2024-04-12 09:32:02 +02:00
- \gls{esrf} (Figure [[fig:esrf_picture ]])
2023-02-07 09:35:47 +01:00
#+name : fig:esrf_picture
#+caption : European Synchrotron Radiation Facility
#+attr_latex : :width 0.7\linewidth
[[file:figs/esrf_picture.jpg ]]
- ID31 and Micro Station (Figure [[fig:id31_microstation_picture ]])
#+begin_src latex :file id31_microstation_picture.pdf
\begin{tikzpicture}
\node[inner sep=0pt, anchor=south west] (photo) at (0,0)
{\includegraphics[width=0.39\textwidth]{/home/thomas/Cloud/documents/reports/phd-thesis/figs/exp_setup_photo.png}};
\coordinate[] (aheight) at (photo.north west);
\coordinate[] (awidth) at (photo.south east);
\coordinate[] (granite) at ($0.1*(aheight)+0.1* (awidth)$);
\coordinate[] (trans) at ($0.5*(aheight)+0.4* (awidth)$);
\coordinate[] (tilt) at ($0.65*(aheight)+0.75* (awidth)$);
\coordinate[] (hexapod) at ($0.7*(aheight)+0.5* (awidth)$);
\coordinate[] (sample) at ($0.9*(aheight)+0.55* (awidth)$);
% Granite
\node[labelc] at (granite) {1};
% Translation stage
\node[labelc] at (trans) {2};
% Tilt Stage
\node[labelc] at (tilt) {3};
% Micro-Hexapod
\node[labelc] at (hexapod) {4};
% Sample
\node[labelc] at (sample) {5};
% Axis
\begin{scope}[shift={($0.07*(aheight)+0.87* (awidth)$)}]
\draw[->] (0, 0) -- ++(55:0.7) node[above] {$y$};
\draw[->] (0, 0) -- ++(90:0.9) node[left] {$z$};
\draw[->] (0, 0) -- ++(-20:0.7) node[above] {$x$};
\end{scope}
\end{tikzpicture}
#+end_src
2021-12-09 17:22:40 +01:00
2023-02-07 09:35:47 +01:00
#+name : fig:id31_microstation_picture
#+caption : Picture of the ID31 Micro-Station with annotations
#+attr_latex : :width 0.49\linewidth
#+RESULTS :
[[file:figs/id31_microstation_picture.png ]]
2021-12-09 17:22:40 +01:00
2023-02-07 09:35:47 +01:00
Alternative: =id31_microstation_cad_view.png= (CAD view)
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
- X-ray beam + detectors + sample stage (Figure [[fig:id31_beamline_schematic ]])
2021-12-09 16:54:14 +01:00
2023-02-07 09:35:47 +01:00
#+begin_src latex :file id31_beamline_schematic.pdf
\begin{tikzpicture}
% Parameters
\def\blockw{6.0cm}
\def\blockh{1.2cm}
\def\tiltdeg{3}
\coordinate[] (rotationpoint) at (0, 4.5*\blockh);
\begin{scope}[rotate around={\tiltdeg:(rotationpoint)}]
% Tilt
\path[] ([shift=(-120:4*\blockh)]rotationpoint) coordinate(beginarc) arc (-120:-110:4* \blockh) %
-- ([shift=(-70:4*\blockh)]rotationpoint) arc (-70:-60:4* \blockh)%
|- ++(-0.15*\blockw, 0.6* \blockh) coordinate (spindlene)%
|- ($(beginarc) + (0.15*\blockw, 0.2*\blockh)$) coordinate (spindlesw) -- + +(0, 0.4*\blockh) coordinate(tiltte) -| cycle;
% Spindle
\coordinate[] (spindlese) at (spindlesw-|spindlene);
\draw[fill=black!30] ($(spindlese)+(-0.1,0.1)+ (-0.1*\blockw, 0)$) -| ($(spindlene)+(-0.1, 0)$) -| coordinate[pos=0.25](spindletop) ($(spindlesw)+(0.1,0.1)$) -| ++(0.1* \blockw, -\blockh) -| coordinate[pos=0.25](spindlebot) cycle;
% \draw[dashed, color=black!60] ($(spindletop)+(0, 0.2)$) -- ($(spindlebot)+ (0,-0.2)$);
% Tilt
\draw[fill=black!60] ([shift= (-120:4*\blockh)]rotationpoint) coordinate(beginarc) arc (-120:-110:4* \blockh) %
-- ([shift=(-70:4*\blockh)]rotationpoint) arc (-70:-60:4* \blockh)%
|- coordinate (tiltne) ++(-0.15*\blockw, 0.6* \blockh) coordinate (spindlene)%
|- ($(beginarc) + (0.15*\blockw, 0.2*\blockh)$) coordinate (spindlesw) -- + +(0, 0.4*\blockh) -| cycle;
% Micro-Hexapod
\begin{scope}[shift={(spindletop)}]
% Parameters definitions
\def\baseh{0.22*\blockh} % Height of the base
\def\naceh{0.18*\blockh} % Height of the nacelle
\def\baser{0.22*\blockw} % Radius of the base
\def\nacer{0.18*\blockw} % Radius of the nacelle
\def\armr{0.2*\blockh} % Radius of the arms
\def\basearmborder{0.2}
\def\nacearmborder{0.2}
\def\xnace{0} \def\ynace{\blockh-\naceh} \def\anace{0}
\def\xbase{0} \def\ybase{0} \def\abase{0}
% Hexapod1
\begin{scope}[shift={(\xbase, \ybase)}, rotate= \abase]
% Base
\draw[fill=white] (-\baser, 0) coordinate[](uhexabot) rectangle (\baser, \baseh);
\coordinate[] (armbasel) at (-\baser+\basearmborder+ \armr, \baseh);
\coordinate[] (armbasec) at (0, \baseh);
\coordinate[] (armbaser) at (\baser-\basearmborder-\armr, \baseh);
\begin{scope}[shift={(\xnace, \ynace)}, rotate= \anace]
\draw[fill=white] (-\nacer, 0) rectangle (\nacer, \naceh);
\coordinate[] (uhexatop) at (0, \naceh);
\coordinate[] (armnacel) at (-\nacer+\nacearmborder+ \armr, 0);
\coordinate[] (armnacec) at (0, 0);
\coordinate[] (armnacer) at (\nacer-\nacearmborder-\armr, 0);
\end{scope}
\draw[] (armbasec) -- (armnacer);
\draw[] (armbasec) -- (armnacel);
\draw[] (armbasel) -- coordinate(mhexaw) (armnacel);
\draw[] (armbasel) -- (armnacec);
\draw[] (armbaser) -- (armnacec);
\draw[] (armbaser) -- coordinate(mhexae) (armnacer);
\end{scope}
\end{scope}
% Sample
\begin{scope}[shift={(uhexatop)}]
\draw[fill=white] (-0.1*\blockw, 0) coordinate[](samplebot) rectangle coordinate[pos=0.5](samplecenter) node[pos=0.5, above]{Sample} (0.1* \blockw, \blockh) coordinate[](samplene);
\coordinate[](samplenw) at (-0.1*\blockw, \blockh);
\end{scope}
\end{scope}
\begin{scope}[shift={(0, -0.3*\blockh)}]
% Translation Stage - fixed part
\draw[fill=black!40] (-0.5*\blockw, 0) coordinate[](tyb) rectangle (0.5* \blockw, 0.15*\blockh);
\coordinate[] (measposbot) at (0.5*\blockw, 0);
% Translation Stage - mobile part
\draw[fill=black!10, fill opacity=0.5] (-0.5*\blockw, 0.2* \blockh) -- (-0.5*\blockw, 1.5* \blockh) coordinate[](tyt) -- (0.5*\blockw, 1.5* \blockh) -- (0.5*\blockw, 0.2* \blockh) -- (0.35*\blockw, 0.2* \blockh) -- (0.35*\blockw, 0.8* \blockh) -- (-0.35*\blockw, 0.8* \blockh) -- (-0.35*\blockw, 0.2* \blockh) -- cycle;
% Translation Guidance
\draw[dashed, color=black!60] ($(-0.5*\blockw, 0)+( 0.075* \blockw,0.5*\blockh)$) circle (0.2* \blockh);
\draw[dashed, color=black!60] ($( 0.5*\blockw, 0)+(-0.075* \blockw,0.5*\blockh)$) circle (0.2* \blockh);
% Tilt Guidance
\draw[dashed, color=black!60] ([shift= (-107:4.1*\blockh)]rotationpoint) arc (-107:-120:4.1* \blockh);
\draw[dashed, color=black!60] ([shift= ( -73:4.1*\blockh)]rotationpoint) arc (-73:-60:4.1* \blockh);
\end{scope}
% % Vertical line
% \draw[dashed, color=black] (samplecenter) -- ++(0, -4*\blockh);
% \begin{scope}[rotate around={\tiltdeg:(samplecenter)}]
% \draw[dashed, color=black] (samplecenter) -- ++(0, -4*\blockh);
% \node[] at ($(samplecenter)+(0, -2.3*\blockh)$) {\AxisRotator[rotate=-90]};
% \node[right, shift={(0.3,0)}] at ($(samplecenter)+(0, -2.3*\blockh)$) {$\theta_z$};
% \end{scope}
% \draw[->] ([shift=(-90:3.6*\blockh)]samplecenter) arc (-90:-87:3.6* \blockh) node[right]{$\theta_y$};
% Laser
\begin{scope}[shift={(samplecenter)}]
\draw[color=red, -<-=0.3] (samplecenter) node[circle, fill=red, inner sep=0pt, minimum size=3pt]{} -- node[pos=0.3, above, color=black]{X-ray} ($(samplecenter)+(1.2*\blockw,0)$);
\end{scope}
% Axis
\begin{scope}[shift={(-0.35*\blockw, 3* \blockh)}]
\def\axissize{0.8cm}
\draw[->] (0, 0) -- ++(0, \axissize) node[right]{$z$};
\draw[->] (0, 0) -- ++(-\axissize, 0) node[above]{$x$};
\draw[fill, color=black] (0, 0) circle (0.05*\axissize);
\node[draw, circle, inner sep=0pt, minimum size=0.4*\axissize, label=right:$y$] (yaxis) at (0, 0){};
% \node[draw, circle, inner sep=0pt, cross, minimum size=0.4*\axissize, label=left:$y$] (yaxis) at (0, 0){};
\end{scope}
\node[fit={($(-0.6*\blockw, -0.5* \blockh)$) ($(0.6*\blockw, 4* \blockh)$)}, inner sep=0pt, draw, dashed, color=gray, label= {Positioning Station}] (possystem) {};
\draw[fill=black!30] ($(tyb)+(-5, -1)$) coordinate[](granitesw) rectangle node[pos=0.5]{Granite Frame} ($(measposbot)+ (5, 0)$) coordinate[](granitene);
% Focusing Optics
\draw[fill=black!20] ($(granitene)+(-1.5, 3)$) rectangle + +(-1, 2);
\draw[spring] ($(granitene)+(-2, 0)$) -- + +(0, 3);
\node[fit={($(granitene)+(-2.8, -0.2)$) ($(granitene)+ (-1.2, 5.2)$)}, inner sep=0pt, draw, dashed, color=gray, label= {Focusing Optics}] () {};
% Measurement Optics
\draw[fill=black!20] ($(granitesw)+(1.5, 4)$) rectangle + +(1, 2);
\draw[spring] ($(granitesw)+(2, 1)$) -- + +(0, 3);
\node[fit={($(granitesw)+(2.8, 0.8)$) ($(granitesw)+ (1.2, 6.2)$)}, inner sep=0pt, draw, dashed, color=gray, label= {Imagery System}] () {};
\end{tikzpicture}
#+end_src
2021-05-19 17:32:47 +02:00
2023-02-07 09:35:47 +01:00
#+name : fig:id31_beamline_schematic
#+caption : ID31 Beamline Schematic. With light source, nano-focusing optics, sample stage and detector.
#+attr_latex : :width \linewidth
#+RESULTS :
[[file:figs/id31_beamline_schematic.png ]]
- Few words about science made on ID31 and why nano-meter accuracy is required
- Typical experiments (tomography, ...), various samples (up to 50kg)
2024-04-12 09:32:02 +02:00
- Where to explain the goal of each stage? (e.g. micro-hexapod: static positioning, Ty and Rz: scans, ...)
2023-02-07 09:35:47 +01:00
- Example of picture obtained (Figure [[fig:id31_tomography_result ]])
#+name : fig:id31_tomography_result
#+caption : Image obtained on the ID31 beamline
#+attr_latex : :width 0.49\linewidth
[[file:example-image-c.png ]]
- Explain wanted positioning accuracy and why micro-station cannot have this accuracy (backlash, play, thermal expansion, ...)
2024-04-12 09:32:02 +02:00
- Speak about the metrology concept, and why it is not included in this thesis
2023-02-07 09:35:47 +01:00
** Challenge definition
#+name : fig:nass_concept_schematic
#+caption : Nass Concept. 1: micro-station, 2: nano-hexapod, 3: sample, 4: 5DoF metrology
[[file:figs/nass_concept_schematic.png ]]
- 6DoF vibration control platform on top of a complex positioning platform
- *Goal* : Improve accuracy of 6DoF long stroke position platform
- *Approach* : Mechatronic approach / model based / predictive
- *Control* : Robust control approach / various payloads.
First hexapod with control bandwidth higher than the suspension modes that accepts various payloads?
- Rotation aspect
- Compactness? (more related to mechanical design)
** Literature Review
#+name : fig:stewart_platform_examples
#+caption : Examples of Stewart Platforms
#+begin_figure
#+name : fig:stewart_platform_a
#+attr_latex : :caption \subcaption{Stewart platform based on voice coil actuators}
#+attr_latex : :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex : :width 0.8\linewidth
[[file:example-image-a.png ]]
#+end_subfigure
#+name : fig:stewart_platform_a
#+attr_latex : :options {0.49\textwidth}
#+attr_latex : :caption \subcaption{Stewart platform based on piezoelectric actuators}
#+begin_subfigure
#+attr_latex : :width 0.8\linewidth
[[file:example-image-b.png ]]
#+end_subfigure
#+end_figure
- Hexapods
cite:li01_simul_fault_vibrat_isolat_point
cite:bishop02_devel_precis_point_contr_vibrat
cite:hanieh03_activ_stewar
cite:afzali-far16_vibrat_dynam_isotr_hexap_analy_studies
cite:naves20_desig
2024-04-12 09:32:02 +02:00
[[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org ]]
2023-02-07 09:35:47 +01:00
- Positioning stations
- Mechatronic approach?
cite:rankers98_machin
cite:monkhorst04_dynam_error_budget
cite:jabben07_mechat
** Outline of thesis / Thesis Summary / Thesis Contributions
*Mechatronic Design Approach* / *Model Based Design* :
- [[cite:&monkhorst04_dynam_error_budget ]] high costs of the design process: the designed system must be *first time right* .
When the system is finally build, its performance level should satisfy the specifications.
No significant changes are allowed in the post design phase.
Because of this, the designer wants to be able to predict the performance of the system a-priori and gain insight in the performance limiting factors of the system.
#+begin_src latex :file nass_mechatronics_approach.pdf
% \graphicspath{ {/home/thomas/Cloud/thesis/papers/dehaeze21_mechatronics_approach_nass/tikz/figs-tikz} }
\begin{tikzpicture}
% Styles
\tikzset{myblock/.style= {draw, thin, color=white!70!black, fill=white, text width=3cm, align=center, minimum height=1.4cm}};
\tikzset{mylabel/.style= {anchor=north, below, font= \bfseries\small, color=black, text width=3cm, align=center}};
\tikzset{mymodel/.style= {anchor=south, above, font= \small, color=black, text width=3cm, align=center}};
\tikzset{mystep/.style= {->, ultra thick}};
% Blocks
\node[draw, fill=lightblue, align=center, label= {[mylabel, text width=8.0cm] Dynamical Models}, minimum height = 4.5cm, text width = 8.0cm] (model) at (0, 0) {};
\node[myblock, fill=lightgreen, label= {[mylabel] Disturbances}, left = 3 of model.west] (dist) {};
\node[myblock, fill=lightgreen, label= {[mylabel] $\mu$ Station}, below = 2pt of dist] (mustation) {};
\node[myblock, fill=lightgreen, label= {[mylabel] $\nu$ Hexapod}, above = 2pt of dist] (nanohexapod) {};
\node[myblock, fill=lightyellow, label= {[mylabel] Mech. Design}, above = 1 of model.north] (mechanical) {};
\node[myblock, fill=lightyellow, label= {[mylabel] Instrumentation}, left = 2pt of mechanical] (instrumentation) {};
\node[myblock, fill=lightyellow, label= {[mylabel] FEM}, right = 2pt of mechanical] (fem) {};
\node[myblock, fill=lightred, label= {[mylabel] Test Benches}, right = 3 of model.east] (testbenches) {};
\node[myblock, fill=lightred, label= {[mylabel] Assembly}, above = 2pt of testbenches] (mounting) {};
\node[myblock, fill=lightred, label= {[mylabel] Implementation}, below = 2pt of testbenches] (implementation) {};
% Text
\node[anchor=south, above, text width=8cm, align=left] at (model.south) {Extensive use of models for:\begin{itemize}[noitemsep,topsep=5pt]\item Extraction of transfer functions \\ \item Choice of appropriate control architecture \\ \item Tuning of control laws \\ \item Closed loop simulations \\ \item Noise budgets / Evaluation of performances \\ \item Sensibility to parameters / disturbances\end{itemize}\centerline{Models are at the core the mecatronic approach!}};
\node[mymodel] at (mustation.south) {Multiple stages \\ Complex dynamics};
\node[mymodel] at (dist.south) {Ground motion \\ Position errors};
\node[mymodel] at (nanohexapod.south) {Different concepts \\ Sensors, Actuators};
\node[mymodel] at (instrumentation.south) {Sensors, Actuators \\ Electronics};
\node[mymodel] at (mechanical.south) {Proper integration \\ Ease of assembly};
\node[mymodel] at (fem.south) {Optimize key parts: \\ Joints, Plates, APA};
\node[mymodel] at (mounting.south) {Struts \\ Nano-Hexapod};
\node[mymodel] at (testbenches.south) {Instrumentation \\ APA, Struts};
\node[mymodel] at (implementation.south) {Control tests \\ $\mu$ Station};
% Links
\draw[->] (dist.east) -- node[above, midway]{{\small Measurements}} node[below,midway]{{\small Spectral Analysis}} (dist.east-|model.west);
\draw[->] (mustation.east) -- node[above, midway]{{\small Measurements}} node[below, midway]{{\small CAD Model}} (mustation.east-|model.west);
\draw[->] ($(nanohexapod.east-|model.west)-(0, 0.15)$) -- node[below, midway]{{\small Optimization}} ($(nanohexapod.east)-(0, 0.15)$);
\draw[<-] ($(nanohexapod.east-|model.west)+(0, 0.15)$) -- node[above, midway]{{\small Model}} ($(nanohexapod.east)+ (0, 0.15)$);
\draw[->] ($(fem.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(fem.south)+ (0.15,0)$);
\draw[<-] ($(fem.south|-model.north)-(0.15, 0)$) -- node[left, midway,align=right]{{\small Super}\\{\small Element}} ($(fem.south)-(0.15,0)$);
\draw[->] ($(mechanical.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(mechanical.south)+ (0.15,0)$);
\draw[<-] ($(mechanical.south|-model.north)-(0.15, 0)$) -- node[left, midway,align=right]{{\small CAD}\\{\small model}} ($(mechanical.south)-(0.15,0)$);
\draw[->] ($(instrumentation.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(instrumentation.south)+ (0.15,0)$);
\draw[<-] ($(instrumentation.south|-model.north)-(0.15, 0)$) -- node[left, midway]{{\small Model}} ($(instrumentation.south)-(0.15,0)$);
\draw[->] ($(mounting.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Requirements}} ($(mounting.west)+ (0, 0.15)$);
\draw[<-] ($(mounting.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(mounting.west)-(0, 0.15)$);
\draw[->] ($(testbenches.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(testbenches.west)+ (0, 0.15)$);
\draw[<-] ($(testbenches.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(testbenches.west)-(0, 0.15)$);
\draw[->] ($(implementation.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(implementation.west)+ (0, 0.15)$);
\draw[<-] ($(implementation.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(implementation.west)-(0, 0.15)$);
% Main steps
\node[font=\bfseries, rotate=90, anchor=south, above] (conceptual_phase_node) at (dist.west) {1 - Conceptual Phase};
\node[font=\bfseries, above] (detailed_phase_node) at (mechanical.north) {2 - Detail Design Phase};
\node[font=\bfseries, rotate= -90, anchor=south, above] (implementation_phase_node) at (testbenches.east) {3 - Experimental Phase};
\begin{scope}[on background layer]
\node[fit={(conceptual_phase_node.north|-nanohexapod.north) (mustation.south east)}, fill=lightgreen!50!white, draw, inner sep=2pt] (conceptual_phase) {};
\node[fit={(detailed_phase_node.north-|instrumentation.west) (fem.south east)}, fill=lightyellow!50!white, draw, inner sep=2pt] (detailed_phase) {};
\node[fit={(implementation_phase_node.north|-mounting.north) (implementation.south west)}, fill=lightred!50!white, draw, inner sep=2pt] (implementation_phase) {};
% \node[above left] at (dob.south east) {DOB};
\end{scope}
% Between main steps
\draw[mystep, postaction={decorate,decoration= {raise=1ex,text along path,text align=center,text= {Concept Validation}}}] (conceptual_phase.north) to[out=90, in=180] (detailed_phase.west);
\draw[mystep, postaction={decorate,decoration= {raise=1ex,text along path,text align=center,text= {Procurement}}}] (detailed_phase.east) to[out=0, in=90] (implementation_phase.north);
% % Inside Model
% \node[inner sep=1pt, outer sep=6pt, anchor=north west, draw, fill=white, thin] (multibodymodel) at ($(model.north west) - (0, 0.5)$)
% {\includegraphics[width=5.6cm]{simscape_nano_hexapod.png}};
% \node[inner sep=1pt, outer sep=6pt, anchor=south west, draw, fill=white, thin] (simscape) at (model.south west)
% {\includegraphics[width=5.6cm]{simscape_picture.jpg}};
% % Feedback Model
% \node[inner sep=3pt, outer sep=6pt, anchor=north east, draw, fill=white, thin] (simscape_sim) at ($(model.north east) - (0, 0.5)$)
% {\includegraphics[width=3.6cm]{simscape_simulations.pdf}};
2021-05-19 19:05:52 +02:00
2023-02-07 09:35:47 +01:00
% % FeedBack
% \node[inner sep=3pt, outer sep=6pt, anchor=south east, draw, fill=white, thin] (feedback) at (model.south east)
% {\includegraphics[width=3.6cm]{classical_feedback_small.pdf}};
\end{tikzpicture}
#+end_src
2021-12-09 17:22:40 +01:00
2023-02-07 09:35:47 +01:00
#+name : fig:nass_mechatronics_approach
#+caption : Overview of the mechatronic approach used for the Nano-Active-Stabilization-System
#+attr_latex : :width \linewidth
#+RESULTS :
[[file:figs/nass_mechatronics_approach.png ]]
2021-12-09 17:22:40 +01:00
2024-04-12 09:32:02 +02:00
*Goals* :
- Design \gls{nass} such that it is easy to control (and maintain).
Have good performances by design and not by complex control strategies.
*Models* :
- Uniaxial Model:
- Effect of limited support compliance
- Effect of change of payload
- Rotating Model
- Gyroscopic effects
- Multi Body Model
- Finite Element Models
2021-12-09 17:22:40 +01:00
2023-02-07 09:35:47 +01:00
* Conceptual Design Development
2021-12-09 16:54:14 +01:00
\minitoc
2023-02-07 09:35:47 +01:00
**** Abstract
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
#+name : fig:chapter1_overview
#+caption : Figure caption
#+attr_latex : :width \linewidth
[[file:figs/chapter1_overview.png ]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** COPY Uni-axial Model
# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A1-nass-uniaxial-model/nass-uniaxial-model.org][NASS - Uniaxial Model]]
2023-02-07 09:35:47 +01:00
*** Introduction :ignore:
- Explain what we want to capture with this model
- Schematic of the uniaxial model (with X-ray)
- Identification of disturbances (ground motion, stage vibrations)
- Optimal nano-hexapod stiffness/actuator: Voice coil VS Piezo (conclusion?)
- Control architecture (IFF, DVF, ...)?
- Conclusion
#+begin_src latex :file mass_spring_damper_nass.pdf
\begin{tikzpicture}
% ====================
% Parameters
% ====================
\def\bracs{0.05} % Brace spacing vertically
\def\brach{-12pt} % Brace shift horizontaly
% ====================
% ====================
% Ground
% ====================
\draw (-0.9, 0) -- (0.9, 0);
\draw[dashed] (0.9, 0) -- ++(0.5, 0);
\draw[->] (1.3, 0) -- ++(0, 0.4) node[right]{$w$};
% ====================
% ====================
% Granite
\begin{scope}[shift={(0, 0)}]
\draw[fill=white] (-0.9, 1.2) rectangle (0.9, 2.0) node[pos=0.5]{$\scriptstyle\text{granite}$};
\draw[spring] (-0.7, 0) -- ++(0, 1.2);
\draw[damper] ( 0, 0) -- ++(0, 1.2);
\draw[dashed] ( 0.9, 2.0) -- ++(2.0, 0) coordinate(xg);
% \draw[decorate, decoration={brace, amplitude=8pt}, xshift= \brach] %
% (-0.9, \bracs) -- ++(0, 2.0) node[midway,rotate=90,anchor=south,yshift=10pt]{Granite};
\end{scope}
% ====================
% ====================
% Stages
\begin{scope}[shift={(0, 2.0)}]
\draw[fill=white] (-0.9, 1.2) rectangle (0.9, 2.0) node[pos=0.5]{$\scriptstyle\mu\text{-station}$};
\coordinate (mustation) at (0.9, 1.6);
\draw[spring] (-0.7, 0) -- ++(0, 1.2);
\draw[damper] ( 0, 0) -- ++(0, 1.2);
\draw[actuator] ( 0.7, 0) -- ++(0, 1.2) node[midway, right=0.1](ft){$f_t$};
% \draw[decorate, decoration={brace, amplitude=8pt}, xshift= \brach] %
% (-0.9, \bracs) -- ++(0, 2.0) node[midway,rotate=90,anchor=south,yshift=10pt]{$\mu\text{-station}$};
\end{scope}
% ====================
% ====================
% NASS
\begin{scope}[shift={(0, 4.0)}]
\draw[fill=white] (-0.9, 1.2) rectangle (0.9, 2.0) node[pos=0.5]{$\scriptstyle\nu\text{-hexapod}$};
\draw[dashed] (0.9, 2.0) -- ++(2.0, 0) coordinate(xnpos);
\draw[spring] (-0.7, 0) -- ++(0, 1.2) node[midway, left=0.1]{};
\draw[damper] ( 0, 0) -- ++(0, 1.2) node[midway, left=0.2]{};
\draw[actuator] ( 0.7, 0) -- ++(0, 1.2) coordinate[midway, right=0.1](f);
% \draw[decorate, decoration={brace, amplitude=8pt}, xshift= \brach] %
% (-0.9, \bracs) -- ++(0, 2.2) node[midway,rotate=90,anchor=south,yshift=10pt]{$\nu\text{-hexapod}$};
\end{scope}
% ====================
% ====================
% Measured Displacement
\draw[<- >, dashed] ($(xg)+(-0.1, 0)$) node[above left](d){$d$} -- ($(xnpos)+ (-0.1, 0)$);
% ====================
% ====================
% IFF Control
% \node[block={2em}{1.5em}, right=0.6 of fsensn] (iff) {$K_{\scriptscriptstyle IFF}$};
% \node[addb] (ctrladd) at (f-|iff) {};
\node[block={2em}{1.5em}, right=0.6 of mustation] (ctrl) {$K$};
% \draw[->] (fsensn.east) -- node[midway, above]{$\tau_m$} (iff.west);
% \draw[->] (iff.south) -- (ctrladd.north);
% \draw[->] (ctrladd.west) -- (f.east) node[above right]{$u$};
\draw[->] (d.west) -| (ctrl.south);
\draw[->] (ctrl.north) |- (f) node[above right]{$u$};
% ====================
\end{tikzpicture}
2021-12-09 15:56:34 +01:00
#+end_src
2023-02-07 09:35:47 +01:00
#+name : fig:mass_spring_damper_nass
#+caption : 3-DoF uniaxial mass-spring-damper model of the NASS
#+RESULTS :
[[file:figs/mass_spring_damper_nass.png ]]
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
*** Micro Station Model
*** Nano Hexapod Model
*** Disturbance Identification
*** Open Loop Dynamic Noise Budgeting
- List all disturbances with their spectral densities
- Show how they have been measured
- Say that repeatable errors can be calibrated (show measurement of Hans-Peter?)
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
#+name : fig:measurement_microstation_vibration_picture
#+caption : Setup used to measure the micro-station vibrations during operation
#+attr_latex : :width 0.4\linewidth
[[file:measurement_microstation_vibration_picture.jpg ]]
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
#+name : fig:asd_ground_motion_ustation_dist
#+caption : Amplitude Spectral density of the measured disturbance sources
#+attr_latex : :width 0.49\linewidth
[[file:example-image-b.png ]]
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
*** Active Damping
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
Conclusion: IFF is better for this application
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
**** Integral Force Feedback
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
- Mass spring damper model
- Root Locus
- Sensitivity to disturbances
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
**** Direct Velocity Feedback
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
- Mass spring damper model
- Root Locus
- Sensitivity to disturbances
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
*** Position Feedback Controller
*** Effect of support compliance
- *goal* : make the nano-hexapod independent of the support compliance
- Simple 2DoF model
- Generalized to any support compliance
- *conclusion* : frequency of nano-hexapod resonances should be lower than first suspension mode of the support
*** Effect of payload dynamics
- *goal* : be robust to a change of payload
- Simple 2DoF model
- Generalized to any payload dynamics
*** Conclusion
** COPY Effect of rotation
# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A2-nass-rotating-3dof-model/nass-rotating-3dof-model.org][NASS - Rotating 3DoF Model]]
2023-02-07 09:35:47 +01:00
*** Introduction :ignore:
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
Papers:
- [[cite:dehaeze20_activ_dampin_rotat_platf_integ_force_feedb ]]
- [[cite:dehaeze21_activ_dampin_rotat_platf_using ]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
*** System Description and Analysis
2023-02-07 09:35:47 +01:00
- x-y-Rz model
- explain why this is representing the NASS
- Equation of motion
- Centrifugal forces, Coriolis
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
#+begin_src latex :file 2dof_rotating_system.pdf
\begin{tikzpicture}
% Angle
\def\thetau{25}
% Rotational Stage
\draw[fill=black!60!white] (0, 0) circle (4.3);
\draw[fill=black!40!white] (0, 0) circle (3.8);
% Label
\node[anchor=north west, rotate= \thetau] at (-2.5, 2.5) {\small Rotating Stage};
% Rotating Scope
\begin{scope}[rotate=\thetau]
% Rotating Frame
\draw[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6);
% Label
\node[anchor=north west, rotate= \thetau] at (-2.6, 2.6) {\small Suspended Platform};
% Mass
\draw[fill=white] (-1, -1) rectangle (1, 1);
% Label
\node[anchor=south west, rotate= \thetau] at (-1, -1) {\small Payload};
% Attached Points
\node[] at (-1, 0){$\bullet$};
\draw[] (-1, 0) -- ++(-0.2, 0) coordinate(cu);
\draw[] ($(cu) + (0, -0.8)$) coordinate(actu) -- ($(cu) + (0, 0.8)$) coordinate(ku);
\node[] at (0, -1){$\bullet$};
\draw[] (0, -1) -- ++(0, -0.2) coordinate(cv);
\draw[] ($(cv) + (-0.8, 0)$)coordinate(kv) -- ($(cv) + (0.8, 0)$) coordinate(actv);
% Spring and Actuator for U
\draw[actuator={0.6}{0.2}] (actu) -- node[above=0.1, rotate= \thetau]{$F_u$} (actu-|-2.6,0);
\draw[spring=0.2] (ku) -- node[above=0.1, rotate= \thetau]{$k$} (ku-|-2.6,0);
\draw[damper={8}{8}] (cu) -- node[above left=0.2 and -0.1, rotate= \thetau]{$c$} (cu-|-2.6,0);
\draw[actuator={0.6}{0.2}] (actv) -- node[left, rotate= \thetau]{$F_v$} (actv|-0,-2.6);
\draw[spring=0.2] (kv) -- node[left, rotate= \thetau]{$k$} (kv|-0,-2.6);
\draw[damper={8}{8}] (cv) -- node[left=0.1, rotate= \thetau]{$c$} (cv|-0,-2.6);
\end{scope}
% Inertial Frame
\draw[->] (-4, -4) -- ++(2, 0) node[below]{$\vec{i}_x$};
\draw[->] (-4, -4) -- ++(0, 2) node[left]{$\vec{i}_y$};
\draw[fill, color=black] (-4, -4) circle (0.06);
\node[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:$\vec{i}_z$] at (-4, -4){};
\draw[->] (0, 0) node[above left, rotate=\thetau]{$\vec{i}_w$} -- ++(\thetau:2) node[above, rotate= \thetau]{$\vec{i}_u$};
\draw[->] (0, 0) -- ++(\thetau+90:2) node[left, rotate=\thetau]{$\vec{i}_v$};
\draw[fill, color=black] (0,0) circle (0.06);
\node[draw, circle, inner sep=0pt, minimum size=0.3cm] at (0, 0){};
\draw[dashed] (0, 0) -- ++(2, 0);
\draw[] (1.5, 0) arc (0:\thetau:1.5) node[midway, right]{$\theta$};
\draw[->] (3.5, 0) arc (0:40:3.5) node[midway, left]{$\Omega$};
\end{tikzpicture}
2021-12-09 15:56:34 +01:00
#+end_src
2023-02-07 09:35:47 +01:00
#+name : fig:2dof_rotating_system
#+caption : Mass spring damper model of an X-Y stage on top of a rotating stage
2021-12-09 15:56:34 +01:00
#+RESULTS :
2023-02-07 09:35:47 +01:00
[[file:figs/2dof_rotating_system.png ]]
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
*** Integral Force Feedback
2023-02-07 09:35:47 +01:00
- Control diagram
- Root Locus: unstable with pure IFF
2024-04-12 09:32:02 +02:00
*** IFF with an High Pass Filter
*** IFF with a stiffness in parallel with the force sensor
*** Relative Damping Control
*** Comparison of Active Damping Techniques
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
*** Rotating Nano-Hexapod
*** Nano Active Stabilization System with rotation
2023-02-07 09:35:47 +01:00
*** Conclusion
- problem with voice coil actuator
- Two solutions: add parallel stiffness, or change controller
- Conclusion: minimum stiffness is required
- APA is a nice architecture for parallel stiffness + integrated force sensor (have to speak about IFF before that)
2024-04-12 09:32:02 +02:00
** TODO Micro Station - Modal Analysis
# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A3-micro-station-modal-analysis/modal-analysis.org][Micro Station - Modal Analysis]]
*** Introduction :ignore:
Conclusion:
- complex dynamics: need multi-body model of the micro-station to represent the limited compliance...
*** Measurement Setup
*** Frequency Analysis
*** Modal Analysis
** TODO Micro Station - Multi Body Model
# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A4-simscape-micro-station/simscape-micro-station.org][Simscape - Micro-Station]]
*** Introduction :ignore:
#+name : fig:simscape_first_model_screenshot
#+caption : 3D view of the multi-body model of the micro-station
#+attr_latex : :width 0.7\linewidth
[[file:figs/simscape_first_model_screenshot.jpg ]]
*** Kinematics
[[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/kinematics.org::+TITLE: Kinematics of the station ]]
- Small overview of each stage and associated stiffnesses / inertia
- schematic that shows to considered DoF
- import from CAD
*** Modal Analysis and Dynamic Modeling
# [[file:~/Cloud/work-projects/ID31-NASS/matlab/micro-station-modal-analysis/modal-analysis.org][modal-analysis]]
- Picture of the experimental setup
- Location of accelerometers
- Show obtained modes
- Validation of rigid body assumption
- Explain how this helps tuning the multi-body model
*** Disturbances and Positioning errors
*** Validation of the Model
- Most important metric: support compliance
- Compare model and measurement
** TODO Nano Hexapod - Multi Body Model
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A5-simscape-nano-hexapod/simscape-nano-hexapod.org][Simscape - Nano-Hexapod]]
2023-02-07 09:35:47 +01:00
*** Introduction :ignore:
- What we want to capture with this model
- Explain what is a multi body model (rigid body, springs, etc...)
- Key elements (plates, joints, struts): for now simplistic model (rigid body elements, perfect joints, ...), but in next section, FEM will be used
- Matlab/Simulink developed toolbox for the study of Stewart platforms
*** Stewart Platform Architecture
#+name : fig:stewart_platform_architecture
#+caption : Stewart Platform Architecture
#+begin_figure
#+name : fig:stewart_architecture_example
#+attr_latex : :caption \subcaption{Initial position}
#+attr_latex : :options {0.49\textwidth}
#+begin_subfigure
#+attr_latex : :width 0.8\linewidth
[[file:stewart_architecture_example.png ]]
#+end_subfigure
#+name : fig:stewart_architecture_example_pose
#+attr_latex : :options {0.49\textwidth}
#+attr_latex : :caption \subcaption{After some motion}
#+begin_subfigure
#+attr_latex : :width 0.8\linewidth
[[file:stewart_architecture_example_pose.png ]]
#+end_subfigure
#+end_figure
2024-04-12 09:32:02 +02:00
Configurable Simscape Model: [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org ]]
- Explain the different frames, etc...
2023-02-07 09:35:47 +01:00
- Little review
- explain key elements:
- two plates
- joints
- actuators
- explain advantages compared to serial architecture
*** Kinematics
- Well define elements, frames, ...
- Derivation of jacobian matrices: for forces and for displacement
- Explain this is true for small displacements (show how small)
*** Model of an Amplified Piezoelectric Actuator
- APA test bench
- Piezoelectric effects
- mass spring damper representation (2dof)
- Compare the model and the experiment
2024-04-12 09:32:02 +02:00
- Here, just a basic 2DoF model of the APA is used
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
*** Dynamics of the Nano-Hexapod
2023-02-07 09:35:47 +01:00
- Effect of joints stiffnesses
2024-04-12 09:32:02 +02:00
- [ ] The APA model should maybe not be used here, same for the nice top and bottom plates. Here the detailed design is not yet performed
2023-02-07 09:35:47 +01:00
#+name : fig:simscape_nano_hexapod
#+caption : 3D view of the multi-body model of the Nano-Hexapod (simplified)
#+attr_latex : :width \linewidth
[[file:figs/simscape_nano_hexapod.png ]]
2024-04-12 09:32:02 +02:00
** TODO Control Architecture - Concept Validation
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A6-simscape-nass/simscape-nass.org][Simscape - NASS]]
2023-02-07 09:35:47 +01:00
*** Introduction :ignore:
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
Discussion of:
2024-04-12 09:32:02 +02:00
- Transformation matrices / control architecture (computation of the position error in the frame of the nano-hexapod)
- Control of parallel architectures
2023-02-07 09:35:47 +01:00
- Control in the frame of struts or cartesian?
- Effect of rotation on IFF? => APA
- HAC-LAC
2024-04-12 09:32:02 +02:00
- New noise budgeting?
*** Control Kinematics
- Explain how the position error can be expressed in the frame of the nano-hexapod
- block diagram
- Explain how to go from external metrology to the frame of the nano-hexapod
2023-02-07 09:35:47 +01:00
*** High Authority Control - Low Authority Control (HAC-LAC)
- general idea
- case for parallel manipulator: decentralized LAC + centralized HAC
*** Decoupling Strategies for parallel manipulators
[[file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org::+TITLE: Diagonal control using the SVD and the Jacobian Matrix ][study ]]
- Jacobian matrices, CoK, CoM, ...
- Discussion of cubic architecture
- SVD, Modal, ...
*** Decentralized Integral Force Feedback (LAC)
- Root Locus
- Damping optimization
*** Decoupled Dynamics
- Centralized HAC
- Control in the frame of the struts
- Effect of IFF
*** Centralized Position Controller (HAC)
- Decoupled plant
- Controller design
2024-04-12 09:32:02 +02:00
** Conceptual Design - Conclusion
2023-02-07 09:35:47 +01:00
* Detailed Design
2021-12-09 16:54:14 +01:00
\minitoc
2023-02-07 09:35:47 +01:00
**** Abstract
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
#+name : fig:chapter2_overview
#+caption : Figure caption
#+attr_latex : :width \linewidth
[[file:figs/chapter2_overview.png ]]
** TODO Nano-Hexapod Kinematics - Optimal Geometry?
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B1-nass-geometry/nass-geometry.org][NASS - Geometry]]
- [ ] Maybe this can be just merged with the last section in this chapter?
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
*** Introduction :ignore:
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
*** Optimal strut orientation
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
2023-02-07 09:35:47 +01:00
*** Cubic Architecture: a Special Case?
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
[[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org ]]
** TODO Nano-Hexapod Dynamics - Including Flexible elements in the Multi-body model
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B2-nass-fem/nass-fem.org][NASS - FEM]]
- [ ] Should this be an appendix?
2023-02-07 09:35:47 +01:00
*** Introduction :ignore:
Reduced order flexible bodies [[cite:brumund21_multib_simul_reduc_order_flexib_bodies_fea ]]
- Used with APA, Flexible joints, Plates
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
*** Reduced order flexible bodies
- Quick explanation of the theory
- Implementation with Ansys (or Comsol) and Simscape
*** Numerical Validation
- Numerical Validation Ansys VS Simscape (APA)
- Figure with 0 and 1kg mass
*** Experimental Validation
- Test bench
- Obtained transfer functions and comparison with Simscape model with reduced order flexible body
2024-04-12 09:32:02 +02:00
** TODO Actuator Choice
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B3-nass-actuator-choice/nass-actuator-choice.org][NASS - Actuator]]
2023-02-07 09:35:47 +01:00
*** Introduction :ignore:
2024-04-12 09:32:02 +02:00
- From previous study: APA seems a nice choice
- First tests with the APA95ML: validation of a basic model (maybe already presented)
- Optimal stiffness?
- Talk about piezoelectric actuator? bandwidth? noise?
- Specifications: stiffness, stroke, ... => choice of the APA
- FEM of the APA
- Validation with flexible APA in the simscape model
2023-02-07 09:35:47 +01:00
#+name : fig:apa_schmeatic
#+caption : Schematical representation of an Amplified Piezoelectric Actuator
#+attr_latex : :width 0.49\linewidth
[[file:example-image-a.png ]]
*** Model
Piezoelectric equations
#+name : fig:apa_schmeatic_2dof
#+caption : Schematical representation of a 2DoF model of an Amplified Piezoelectric Actuator
#+attr_latex : :width 0.49\linewidth
[[file:example-image-a.png ]]
#+name : fig:apa_schmeatic_fem
#+caption : Schematical representation of a FEM of an Amplified Piezoelectric Actuator
#+attr_latex : :width 0.49\linewidth
[[file:example-image-b.png ]]
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
- FEM
- Simscape model
- (2 DoF, FEM, ...)
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
#+name : fig:root_locus_iff_rot_stiffness
#+caption : Limitation of the attainable damping due to the APA design
[[file:figs/root_locus_iff_rot_stiffness.png ]]
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
*** Experimental System Identification
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
- Experimental validation (granite test bench)
- Electrical parameters
- Required instrumentation to read force sensor?
- Add resistor to include high pass filtering: no risk of saturating the ADC
- Estimation of piezoelectric parameters
2021-12-09 15:56:34 +01:00
2023-02-07 09:35:47 +01:00
*** Validation with Simscape model
- Tuned Simscape model
- IFF results: OK
2024-04-12 09:32:02 +02:00
** TODO Design of Nano-Hexapod Flexible Joints
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B4-nass-flexible-joints/nass-flexible-joints.org][NASS - Flexible Joints]]
2023-02-07 09:35:47 +01:00
*** Introduction :ignore:
2024-04-12 09:32:02 +02:00
- Perfect flexible joint
- Imperfection of the flexible joint: Model
- Study of the effect of limited stiffness in constrain directions and non-null stiffness in other directions
- Obtained Specification
- Design optimisation (FEM)
- Implementation of flexible elements in the Simscape model: close to simplified model
2023-02-07 09:35:47 +01:00
*** Effect of flexible joint characteristics on obtained dynamics
- Based on Simscape model
- Effect of axial stiffness, bending stiffness, ...
- Obtained specifications (trade-off)
*** Flexible joint geometry optimization
- Chosen geometry
2024-04-12 09:32:02 +02:00
- Show different existing geometry for flexible joints used on hexapods
2023-02-07 09:35:47 +01:00
- Optimisation with Ansys
- Validation with Simscape model
*** Experimental identification
- Experimental validation, characterisation ([[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-flexible-joints-adv/bending.org::+TITLE: Flexible Joint - Measurement of the Bending Stiffness ][study ]])
- Visual inspection
- Test bench
- Obtained results
2024-04-12 09:32:02 +02:00
** TODO Choice of Instrumentation
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B5-nass-instrumentation/nass-instrumentation.org][NASS - Instrumentation]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
*** Introduction :ignore:
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
- Discussion of the choice of other elements:
- Encoder
- DAC
- ADC (reading of the force sensors)
- real time controller
- Voltage amplifiers
- Give some requirements + chosen elements + measurements / validation
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
*** DAC and ADC
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
- Force sensor
2023-02-07 09:35:47 +01:00
*** Voltage amplifier ([[https://research.tdehaeze.xyz/test-bench-pd200/][link]])
- Test Bench: capacitive load, ADC, DAC, Instrumentation amplifier
- Noise measurement
- Transfer function measurement
*** Encoder ([[https://research.tdehaeze.xyz/test-bench-vionic/][link]])
- Noise measurement
2024-04-12 09:32:02 +02:00
** TODO Obtained Design
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B6-nass-design/nass-design.org][NASS - Design]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
- Explain again the different specifications in terms of space, payload, etc..
2023-02-07 09:35:47 +01:00
- CAD view of the nano-hexapod
- Chosen geometry, materials, ease of mounting, cabling, ...
2024-04-12 09:32:02 +02:00
- Validation on Simscape with accurate model?
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** Detailed Design - Conclusion
2023-02-07 09:35:47 +01:00
* Experimental Validation
2021-12-09 16:54:14 +01:00
\minitoc
2023-02-07 09:35:47 +01:00
**** Abstract
2024-04-12 09:32:02 +02:00
#+name : fig:chapter3_overview
#+caption : Figure caption
#+attr_latex : :width \linewidth
[[file:figs/chapter3_overview.png ]]
2023-02-07 09:35:47 +01:00
Schematic representation of the experimental validation process.
- APA
- Strut
- Nano-hexapod on suspended table
- Nano-hexapod with Spindle
2024-04-12 09:32:02 +02:00
** COPY Amplified Piezoelectric Actuator
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C1-test-bench-apa/test-bench-apa.org][Test Bench - APA]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** TODO Flexible Joints
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C2-test-bench-flexible-joints/test-bench-flexible-joints.org][Test Bench - Flexible Joints]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** TODO Struts
SCHEDULED: <2024-04-15 Mon>
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C3-test-bench-struts/test-bench-struts.org][Test Bench - Struts]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** TODO Nano-Hexapod
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C4-test-bench-nano-hexapod/test-bench-nano-hexapod.org][Test Bench - Nano Hexapod]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** TODO Rotating Nano-Hexapod
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C5-test-bench-nass-spindle/test-bench-nass-spindle.org][Test Bench - NASS Spindle]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** TODO ID31 Micro Station
# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C6-test-bench-id31/test-bench-id31.org][Test Bench - ID31]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** Experimental Validation - Conclusion
* Conclusion and Future Work
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
** Alternative Architecture
[[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/alternative-micro-station-architecture.org ]]
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
* Appendix :ignore:
#+latex : \appendix
2023-02-07 09:35:47 +01:00
2024-04-12 09:32:02 +02:00
* Mathematical Tools for Mechatronics
** Feedback Control
2021-12-09 15:56:34 +01:00
2024-04-12 09:32:02 +02:00
** Dynamical Noise Budgeting
*** Power Spectral Density
2021-05-19 19:05:52 +02:00
2024-04-12 09:32:02 +02:00
*** Cumulative Amplitude Spectrum
2021-12-09 16:54:14 +01:00
2023-02-07 09:35:47 +01:00
* Stewart Platform - Kinematics
2021-05-19 17:32:47 +02:00
* Bibliography :ignore:
2021-12-09 15:56:34 +01:00
#+latex : \printbibliography[heading=bibintoc,title={Bibliography}]
2021-12-09 16:54:14 +01:00
* List of Publications
:PROPERTIES:
:UNNUMBERED: notoc
:END:
#+begin_export latex
\begin{refsection}[ref.bib]
% List all papers even if not cited
\nocite{*}
% Sort by year
\newrefcontext[sorting=ynt]
% Articles
\printbibliography[keyword={publication},heading= {subbibliography},title={Articles},env=mypubs,type= {article}]
% Proceedings
\printbibliography[keyword={publication},heading= {subbibliography},title={In Proceedings},env=mypubs,type= {inproceedings}]
\end{refsection}
#+end_export
2021-05-19 17:32:47 +02:00
* Glossary :ignore:
2024-04-12 09:32:02 +02:00
2021-05-19 17:32:47 +02:00
#+latex : \printglossary[type=\acronymtype]
2024-04-12 09:32:02 +02:00
#+latex : \printglossary[type=\glossarytype]
2021-05-19 17:32:47 +02:00
#+latex : \printglossary
2021-12-09 15:56:34 +01:00
* Footnotes
[fn:1]this is a footnote with citation [[cite:&dehaeze21_mechat_approac_devel_nano_activ_stabil_system ]].