diff --git a/talk/dehaeze21_mechatronics_approach_nass_talk.org b/talk/dehaeze21_mechatronics_approach_nass_talk.org index 6dd3d63..cd45bc7 100644 --- a/talk/dehaeze21_mechatronics_approach_nass_talk.org +++ b/talk/dehaeze21_mechatronics_approach_nass_talk.org @@ -12,7 +12,7 @@ #+LATEX_HEADER_EXTRA: \titlegraphic{\includegraphics[height=1.5cm]{figs/logo_pml_full.pdf} \hspace{5em} % #+LATEX_HEADER_EXTRA: \includegraphics[height=1.5cm]{figs/logo_esrf.pdf} \hspace{5em} % -#+LATEX_HEADER_EXTRA: \includegraphics[height=1.5cm]{figs/logo_medsi.pdf}} +#+LATEX_HEADER_EXTRA: \includegraphics[height=1.5cm]{figs/logo_medsi.jpg}} #+DESCRIPTION: #+KEYWORDS: @@ -28,8 +28,6 @@ #+LATEX_HEADER: \usepackage{mathtools} -#+LATEX_HEADER_EXRTA: \setlist[itemize]{align=parleft,left=0pt..1em} - #+LATEX_HEADER_EXTRA: \beamertemplatenavigationsymbolsempty #+LATEX_HEADER_EXTRA: \addtobeamertemplate{navigation symbols}{}{% #+LATEX_HEADER_EXTRA: \usebeamerfont{footline}% @@ -37,18 +35,13 @@ #+LATEX_HEADER_EXTRA: \hspace{1em}% #+LATEX_HEADER_EXTRA: \insertframenumber/\inserttotalframenumber #+LATEX_HEADER_EXTRA: } + +#+LATEX_HEADER_EXTRA: \setlength{\leftmargini}{5pt} + #+LATEX_HEADER_EXTRA: \setbeamertemplate{itemize items}[circle] #+LATEX_HEADER_EXTRA: \usefonttheme[onlymath]{serif} -#+LATEX_HEADER_EXTRA:\AtBeginSection[]{ -#+LATEX_HEADER_EXTRA: \begin{frame}{Outline} -#+LATEX_HEADER_EXTRA: \tableofcontents[currentsection, hideothersubsections, sectionstyle=show/shaded] -#+LATEX_HEADER_EXTRA: \end{frame} -#+LATEX_HEADER_EXTRA:} - #+LATEX_HEADER_EXTRA:\makeatletter -#+LATEX_HEADER_EXTRA:\preto\Gin@extensions{gif,} -#+LATEX_HEADER_EXTRA:\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png} #+LATEX_HEADER_EXTRA:\preto\Gin@extensions{png,} #+LATEX_HEADER_EXTRA:\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf} #+LATEX_HEADER_EXTRA:\makeatother @@ -81,83 +74,17 @@ :END: ** DONE The ID31 Micro Station -CLOSED: [2021-07-06 mar. 22:48] +CLOSED: [2021-07-21 mer. 21:46] -#+begin_src latex :file assemblage.pdf -\graphicspath{ {/home/thomas/Cloud/thesis/meetings/engineering-meeting/2021-07-12-NASS/figs} } - -\begin{tikzpicture} - \tikzstyle{legend}=[draw, text width=4.2cm, align=center] - - \node[inner sep=0pt, anchor=south west] (assemblage) at (0,0) - {\includegraphics[width=0.42\textwidth]{/home/thomas/Cloud/thesis/papers/dehaeze18_sampl_stabil_for_tomog_exper/tikz/img/assemblage_img.png}}; - - \coordinate[] (aheight) at (assemblage.north west); - \coordinate[] (awidth) at (assemblage.south east); - - \coordinate[] (xrightlabel) at (-0.2, 0); - \coordinate[] (xleftlabel) at ($(awidth)+(0.2, 0)$); - - % Translation Stage - \coordinate[] (ty) at ($0.5*(aheight)+0.1*(awidth)$); - \draw[<-] (ty) -- (ty-|xrightlabel) node[left, legend]{Translation Stage\\$\SI{-5}{m\metre} < T_y < \SI{5}{m\metre}$}; - - % Sample Interface - \coordinate[] (sampleint) at ($0.77*(aheight)+0.5*(awidth)$); - \coordinate[] (sampleintmid) at ($(sampleint)+(-1, -0.5)$); - \draw[<-] (sampleint) -- (sampleintmid) -- (sampleintmid-|xrightlabel) node[left, legend]{Sample Interface}; - - % Sample - \coordinate[] (sample) at ($0.9*(aheight)+0.5*(awidth)$); - \draw[<-] (sample) -- (sample-|xrightlabel) node[left, legend]{Sample Environment\\$\SI{1}{\kg} < M < \SI{50}{\kg}$}; - - % Tilt Stage - \coordinate[] (tilt) at ($0.55*(aheight)+0.78*(awidth)$); - \coordinate[] (tiltmid) at ($(tilt)+(1, 0.5)$); - \draw[<-] (tilt) -- (tiltmid) -- (tiltmid-|xleftlabel) node[right, legend]{Tilt Stage\\$\ang{-3} < \theta_y < \ang{3}$}; - - % Spindle - \coordinate[] (spindle) at ($0.53*(aheight)+0.33*(awidth)$); - \coordinate[] (spindlemid) at ($(spindle)+(-1, -1.5)$); - \draw[<-] (spindle) -- (spindlemid) -- (spindlemid-|xrightlabel) node[left, legend]{Spindle\\$\SI{1}{rpm} < \dot{\theta_z} < \SI{60}{rpm}$}; - - % Center of gravity compensation - \coordinate[] (axisc) at ($0.65*(aheight)+0.65*(awidth)$); - \coordinate[] (axiscmid) at ($(axisc)+(1, 1.5)$); - \draw[<-] (axisc) -- (axiscmid) -- (axiscmid-|xleftlabel) node[right, legend]{Center of gravity\\compensation system}; - - % Micro Hexapod - \coordinate[] (hexapod) at ($0.52*(aheight)+0.6*(awidth)$); - \coordinate[] (hexapodmid) at ($(hexapod)+(1, -1.0)$); - \draw[<-] (hexapod) -- (hexapodmid) -- (hexapodmid-|xleftlabel) node[right, legend]{Long Stroke Hexapod\\$\SI{-10}{m\metre} < T_{x y z} < \SI{10}{m\metre}$\\$\ang{-3} < \theta_{x y z} < \ang{3}$}; - - % Frame - \coordinate[] (frame) at ($0.14*(aheight)+0.65*(awidth)$); - \draw[<-] (frame) -- (frame-|xleftlabel) node[right, legend]{Frame fixed\\on the granite}; - - % X-Ray - \draw[color=red, ->-=0.7] ($0.92*(aheight)+0.8*(awidth)$) -- node[above, color=black]{X-ray} ++(190:1.8); - - % Size of the setup - \draw[dashed, <->, color=black!70, line width=0.5pt] ($0.03*(aheight)+0.35*(awidth)$) -- node[below, color=black, pos=0.6]{$\approx\SI{1}{m}$} ($0.14*(aheight)+0.98*(awidth)$); - \draw[dashed, <->, color=black!70, line width=0.5pt] ($0.032*(aheight)+0.32*(awidth)$) -- node[left, color=black, pos=0.4]{$\approx\SI{1}{m}$} ($0.305*(aheight)+0.0*(awidth)$); - - % Axis - \begin{scope}[shift={(0.0, 0.7)}] - \draw[->] (0, 0) -- ++(195:0.8) node[above] {$x$}; - \draw[->] (0, 0) -- ++(90:0.9) node[right] {$z$}; - \draw[->] (0, 0) -- ++(-40:0.7) node[above] {$y$}; - \end{scope} +#+attr_latex: :width 0.95\linewidth +[[file:figs/micro_hexapod_render.pdf]] +#+begin_export beamer +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; \end{tikzpicture} -#+end_src - -#+attr_latex: :width \linewidth -#+RESULTS: -[[file:figs/assemblage.png]] - -*Objective*: Position samples along complex trajectories with high precision\newline -*Stacked Positioning Stages*: $\approx 10\,\mu m$ precision limited by stages vibrations, thermal effects, ground motion, ... +#+end_export ** DONE Introduction - The Nano Active Stabilization System CLOSED: [2021-07-06 mar. 22:48] @@ -166,11 +93,1216 @@ CLOSED: [2021-07-06 mar. 22:48] :END: *Objective*: Improve the position accuracy from $\approx 10\,\mu m$ down to $\approx 10\,nm$ \newline -*Design approach*: "Model based design" (extensive use of models and test benches) +*Design approach*: "Model based design" / "Predictive Design" #+attr_latex: :width \linewidth [[file:figs/nass-concept.pdf]] +** DONE Overview of the Mechatronic Approach - Model Based Design +CLOSED: [2021-07-06 mar. 21:44] + +#+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, opacity=0, fill=lightgreen, label={[mylabel, opacity=0] Disturbances}, left = 3 of model.west] (dist) {}; + \node[myblock, opacity=0, fill=lightgreen, label={[mylabel, opacity=0] $\mu$ Station}, below = 2pt of dist] (mustation) {}; + \node[myblock, opacity=0, fill=lightgreen, label={[mylabel, opacity=0] $\nu$ Hexapod}, above = 2pt of dist] (nanohexapod) {}; + + \node[myblock, opacity=0, fill=lightyellow, label={[mylabel, opacity=0] Mech. Design}, above = 1 of model.north] (mechanical) {}; + \node[myblock, opacity=0, fill=lightyellow, label={[mylabel, opacity=0] Instrumentation}, left = 2pt of mechanical] (instrumentation) {}; + \node[myblock, opacity=0, fill=lightyellow, label={[mylabel, opacity=0] FEM}, right = 2pt of mechanical] (fem) {}; + + \node[myblock, opacity=0, fill=lightred, label={[mylabel, opacity=0] Test Benches}, right = 3 of model.east] (testbenches) {}; + \node[myblock, opacity=0, fill=lightred, label={[mylabel, opacity=0] Assembly}, above = 2pt of testbenches] (mounting) {}; + \node[myblock, opacity=0, fill=lightred, label={[mylabel, opacity=0] Implementation}, below = 2pt of testbenches] (implementation) {}; + + % Text + \node[anchor=south, opacity=0, 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, opacity=0] at (mustation.south) {Multiple stages \\ Complex dynamics}; + \node[mymodel, opacity=0] at (dist.south) {Ground motion \\ Position errors}; + \node[mymodel, opacity=0] at (nanohexapod.south) {Different concepts \\ Sensors, Actuators}; + + \node[mymodel, opacity=0] at (instrumentation.south) {Sensors, Actuators \\ Electronics}; + \node[mymodel, opacity=0] at (mechanical.south) {Proper integration \\ Ease of assembly}; + \node[mymodel, opacity=0] at (fem.south) {Optimize key parts: \\ Joints, Plates, APA}; + + \node[mymodel, opacity=0] at (mounting.south) {Struts \\ Nano-Hexapod}; + \node[mymodel, opacity=0] at (testbenches.south) {Instrumentation \\ APA, Struts}; + \node[mymodel, opacity=0] at (implementation.south) {Control tests \\ $\mu$ Station}; + + % Links + \draw[->, opacity=0] (dist.east) -- node[above, midway]{{\small Measurements}} node[below,midway]{{\small Spectral Analysis}} (dist.east-|model.west); + \draw[->, opacity=0] (mustation.east) -- node[above, midway]{{\small Measurements}} node[below, midway]{{\small CAD Model}} (mustation.east-|model.west); + + \draw[->, opacity=0] ($(nanohexapod.east-|model.west)-(0, 0.15)$) -- node[below, midway]{{\small Optimization}} ($(nanohexapod.east)-(0, 0.15)$); + \draw[<-, opacity=0] ($(nanohexapod.east-|model.west)+(0, 0.15)$) -- node[above, midway]{{\small Model}} ($(nanohexapod.east)+(0, 0.15)$); + + \draw[->, opacity=0] ($(fem.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(fem.south)+(0.15,0)$); + \draw[<-, opacity=0] ($(fem.south|-model.north)-(0.15, 0)$) -- node[left, midway,align=right]{{\small Super}\\{\small Element}} ($(fem.south)-(0.15,0)$); + + \draw[->, opacity=0] ($(mechanical.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(mechanical.south)+(0.15,0)$); + \draw[<-, opacity=0] ($(mechanical.south|-model.north)-(0.15, 0)$) -- node[left, midway,align=right]{{\small CAD}\\{\small model}} ($(mechanical.south)-(0.15,0)$); + + \draw[->, opacity=0] ($(instrumentation.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(instrumentation.south)+(0.15,0)$); + \draw[<-, opacity=0] ($(instrumentation.south|-model.north)-(0.15, 0)$) -- node[left, midway]{{\small Model}} ($(instrumentation.south)-(0.15,0)$); + + \draw[->, opacity=0] ($(mounting.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Requirements}} ($(mounting.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(mounting.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(mounting.west)-(0, 0.15)$); + + \draw[->, opacity=0] ($(testbenches.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(testbenches.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(testbenches.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(testbenches.west)-(0, 0.15)$); + + \draw[->, opacity=0] ($(implementation.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(implementation.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(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); + + % Only for overview + \draw[->] ($(conceptual_phase.east-|model.west)-(0, 0.3)$) -- ($(conceptual_phase.east)-(0, 0.3)$); + \draw[<-] ($(conceptual_phase.east-|model.west)+(0, 0.3)$) -- ($(conceptual_phase.east)+(0, 0.3)$); + + \draw[->] ($(detailed_phase.south|-model.north)-(0.3, 0)$) -- ($(detailed_phase.south)-(0.3, 0)$); + \draw[<-] ($(detailed_phase.south|-model.north)+(0.3, 0)$) -- ($(detailed_phase.south)+(0.3, 0)$); + + \draw[->] ($(implementation_phase.west-|model.east)-(0, 0.3)$) -- ($(implementation_phase.west)-(0, 0.3)$); + \draw[<-] ($(implementation_phase.west-|model.east)+(0, 0.3)$) -- ($(implementation_phase.west)+(0, 0.3)$); + + % % 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}}; + + % % 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 + +#+attr_latex: :width \linewidth +#+RESULTS: +[[file:figs/nass_mechatronics_approach.png]] + +* Conceptual Phase +** Outline - Conceptual Phase +#+begin_src latex :file nass_mechatronics_approach_conceptual_phase.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, opacity=0, fill=lightyellow, label={[mylabel, opacity=0] Mech. Design}, above = 1 of model.north] (mechanical) {}; + \node[myblock, opacity=0, fill=lightyellow, label={[mylabel, opacity=0] Instrumentation}, left = 2pt of mechanical] (instrumentation) {}; + \node[myblock, opacity=0, fill=lightyellow, label={[mylabel, opacity=0] FEM}, right = 2pt of mechanical] (fem) {}; + + \node[myblock, opacity=0, fill=lightred, label={[mylabel, opacity=0] Test Benches}, right = 3 of model.east] (testbenches) {}; + \node[myblock, opacity=0, fill=lightred, label={[mylabel, opacity=0] Assembly}, above = 2pt of testbenches] (mounting) {}; + \node[myblock, opacity=0, fill=lightred, label={[mylabel, opacity=0] Implementation}, below = 2pt of testbenches] (implementation) {}; + + % Text + \node[anchor=south, opacity=0, 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, opacity=0] at (instrumentation.south) {Sensors, Actuators \\ Electronics}; + \node[mymodel, opacity=0] at (mechanical.south) {Proper integration \\ Ease of assembly}; + \node[mymodel, opacity=0] at (fem.south) {Optimize key parts: \\ Joints, Plates, APA}; + + \node[mymodel, opacity=0] at (mounting.south) {Struts \\ Nano-Hexapod}; + \node[mymodel, opacity=0] at (testbenches.south) {Instrumentation \\ APA, Struts}; + \node[mymodel, opacity=0] 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[->, opacity=0] ($(fem.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(fem.south)+(0.15,0)$); + \draw[<-, opacity=0] ($(fem.south|-model.north)-(0.15, 0)$) -- node[left, midway,align=right]{{\small Super}\\{\small Element}} ($(fem.south)-(0.15,0)$); + + \draw[->, opacity=0] ($(mechanical.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(mechanical.south)+(0.15,0)$); + \draw[<-, opacity=0] ($(mechanical.south|-model.north)-(0.15, 0)$) -- node[left, midway,align=right]{{\small CAD}\\{\small model}} ($(mechanical.south)-(0.15,0)$); + + \draw[->, opacity=0] ($(instrumentation.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(instrumentation.south)+(0.15,0)$); + \draw[<-, opacity=0] ($(instrumentation.south|-model.north)-(0.15, 0)$) -- node[left, midway]{{\small Model}} ($(instrumentation.south)-(0.15,0)$); + + \draw[->, opacity=0] ($(mounting.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Requirements}} ($(mounting.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(mounting.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(mounting.west)-(0, 0.15)$); + + \draw[->, opacity=0] ($(testbenches.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(testbenches.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(testbenches.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(testbenches.west)-(0, 0.15)$); + + \draw[->, opacity=0] ($(implementation.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(implementation.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(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); + + % Only for overview + \draw[->] ($(detailed_phase.south|-model.north)-(0.3, 0)$) -- ($(detailed_phase.south)-(0.3, 0)$); + \draw[<-] ($(detailed_phase.south|-model.north)+(0.3, 0)$) -- ($(detailed_phase.south)+(0.3, 0)$); + + \draw[->] ($(implementation_phase.west-|model.east)-(0, 0.3)$) -- ($(implementation_phase.west)-(0, 0.3)$); + \draw[<-] ($(implementation_phase.west-|model.east)+(0, 0.3)$) -- ($(implementation_phase.west)+(0, 0.3)$); + + % % 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}}; + + % % 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 + +#+attr_latex: :width \linewidth +#+RESULTS: +[[file:figs/nass_mechatronics_approach_conceptual_phase.png]] + +** DONE Feedback Control - The Control Loop +CLOSED: [2021-07-09 ven. 09:30] + +\vspace{-1em} + +#+begin_src latex :file classical_feedback_schematic.pdf +\begin{tikzpicture} + \node[block] (controller) {Controller}; + \node[block, right = 1 of controller] (driver) {Driver}; + \node[block, right = 1 of driver] (actuator) {Actuator}; + \node[block, right = 1 of actuator, align=center] (system) {Mechanical\\System}; + \node[block, right = 1 of system] (sensor) {Sensor}; + + % Connections and labels + \draw[->] (controller.east) node[above right]{$u$} -- (driver.west); + \draw[->] (driver.east) -- (actuator.west); + \draw[->] (actuator.east) -- (system.west); + \draw[->] (system.east) -- (sensor.west); + \draw[->] (sensor.east) -- ++(1.6, 0); + \draw[->] ($(sensor.east)+(1.2,0)$)node[branch]{}node[above]{$y$} -- ++(0, -1.5) -| (controller.south); + + \draw[<-] (controller.west) -- ++(-1.0, 0) node[above right]{$r$}; + \draw[<-] (driver.north) -- ++(0, 1.2) node[below right, align=left]{Electrical\\Noise}; + \draw[<-] (system.north) -- ++(0, 1.2) node[below right, align=left]{Disturbances}; + \draw[<-] (sensor.north) -- ++(0, 1.2) node[below right, align=left](sensornoise){Sensor\\Noise}; + + % Plant + \begin{scope}[on background layer] + \node[fit={(driver.south west) (sensornoise.north east)}, fill=black!20!white, draw, dashed, inner sep=8pt] (plant) {}; + \node[below] at (plant.north) {\textbf{Plant}}; + \end{scope} +\end{tikzpicture} +#+end_src + +#+attr_latex: :width \linewidth +#+RESULTS: +[[file:figs/classical_feedback_schematic.png]] + +\vspace{-1em} + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.4 +:END: + +#+attr_latex: :options [title=Why Feedback?] +#+begin_tcolorbox +- Model uncertainties +- Unknown disturbances +#+end_tcolorbox + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.6 +:END: + +#+attr_latex: :options [title=Every elements can limit the performances] +#+begin_tcolorbox +- Drivers, Actuators, Sensors +- Mechanical System +- Controller +#+end_tcolorbox + +** DONE Noise Budgeting and Required Control Bandwidth +CLOSED: [2021-07-21 mer. 22:52] + +\vspace{-1em} + +#+attr_latex: :width \linewidth +[[file:figs/identification_control_noise_budget.red.pdf]] + +** DONE Limitation of the Controller Bandwidth? +CLOSED: [2021-07-08 jeu. 09:46] +*** Figures :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.6 +:END: + +\vspace{-2em} + +#+Beamer: \only<1>{ + +#+attr_latex: :width \linewidth +[[file:figs/control_bandwidth_1_classical.pdf]] + +#+Beamer: }\only<2>{ + +#+attr_latex: :width \linewidth +[[file:figs/control_bandwidth_2_above_res.pdf]] + +#+Beamer: }\only<3>{ + +#+attr_latex: :width \linewidth +[[file:figs/control_bandwidth_3_next_gen.pdf]] + +#+Beamer: } + +*** Text :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.4 +:END: + +\vspace{-2em} + +#+attr_latex: :width \linewidth +[[file:figs/test_bench_apa_simple.pdf]] + +#+Beamer: \only<1>{ + +#+attr_latex: :options [title=Typical Approach, fontupper=\small] +#+begin_tcolorbox +"As stiff as possible" \newline +Simple controller (e.g. PID) +#+end_tcolorbox + +#+Beamer: }\only<2>{ + +#+attr_latex: :options [title=Alternative Approach, fontupper=\small] +#+begin_tcolorbox +Limited by complex dynamics\newline +Model based controller +#+end_tcolorbox + +#+Beamer: }\only<3>{ + +#+attr_latex: :options [title=Next-Gen Systems, fontupper=\small] +#+begin_tcolorbox +Active research topic\newline +Complex controllers +#+end_tcolorbox + +#+Beamer: } + +** DONE Soft or Stiff $\nu\text{-hexapod}$ ? Interaction with the $\mu\text{-station}$ +CLOSED: [2021-07-09 ven. 13:37] + +\vspace{-3em} +*** Schematic :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.3 +:END: + +#+Beamer: \onslide<1->{ + +#+attr_latex: :width \linewidth +[[file:figs/nass_example_uncertainty_support_only_hexapod.pdf]] + +#+Beamer: }\onslide<2->{ + +#+attr_latex: :width \linewidth +[[file:figs/nass_example_uncertainty_support.pdf]] + +#+Beamer: } + +*** Plots :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.7 +:END: + +#+Beamer: \onslide<1->{ + +#+attr_latex: :width \linewidth +[[file:figs/nass_example_alone.pdf]] + +\vspace{-2em} + +#+Beamer: }\onslide<2->{ + +#+attr_latex: :width \linewidth +[[file:figs/nass_example_support_uncertainty_d_L.pdf]] + +#+Beamer: } + +** DONE Complexity of the Micro-Station Dynamics (Model Analysis) +CLOSED: [2021-07-09 ven. 13:41] + +\vspace{-1em} + +#+attr_latex: :width 0.95\linewidth +[[file:figs/modes_annotated.png]] + +#+begin_export beamer +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +#+end_export + +** DONE Control Strategy: HAC-LAC +CLOSED: [2021-07-09 ven. 15:51] + +\vspace{-0.5em} + +#+attr_latex: :width \linewidth +[[file:figs/nass_schematic_test.pdf]] + +\vspace{-2.0em} + +*** LAC :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.5 +:END: + +#+attr_latex: :options [title=Low Authority Control] +#+begin_tcolorbox +- Collocated sensors/actuators +- Guaranteed Stability +- Adds damping +- $\searrow$ vibration near resonances +#+end_tcolorbox + +*** HAC :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.5 +:END: + +#+attr_latex: :options [title=High Authority Control] +#+begin_tcolorbox +- Position sensors +- Complex dynamics +- $\searrow$ vibration in the bandwidth +- Use transformation matrices +#+end_tcolorbox + +** DONE Multi-Body Models - Simulations +CLOSED: [2021-07-21 mer. 23:23] + +#+attr_latex: :width \linewidth +[[file:figs/simscape_simulation.jpg]] + + +#+begin_export beamer +\begin{tikzpicture}[remember picture, overlay] + \node[align=left, anchor=south east, text width=5.5cm,shift={(-1em, 1em)}] at (current page.south east){% + \begin{tcolorbox} + \begin{center} + Validation of the concept + \end{center} + \end{tcolorbox}}; +\end{tikzpicture} +#+end_export + +#+begin_export beamer +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +#+end_export + +* Detail Design Phase +** TODO Outline - Detail Design Phase +#+begin_src latex :file nass_mechatronics_approach_detailed_phase.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, opacity=0, fill=lightred, label={[mylabel, opacity=0] Test Benches}, right = 3 of model.east] (testbenches) {}; + \node[myblock, opacity=0, fill=lightred, label={[mylabel, opacity=0] Assembly}, above = 2pt of testbenches] (mounting) {}; + \node[myblock, opacity=0, fill=lightred, label={[mylabel, opacity=0] Implementation}, below = 2pt of testbenches] (implementation) {}; + + % Text + \node[anchor=south, opacity=0, 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, opacity=0] at (mounting.south) {Struts \\ Nano-Hexapod}; + \node[mymodel, opacity=0] at (testbenches.south) {Instrumentation \\ APA, Struts}; + \node[mymodel, opacity=0] 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[->, opacity=0] ($(mounting.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Requirements}} ($(mounting.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(mounting.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(mounting.west)-(0, 0.15)$); + + \draw[->, opacity=0] ($(testbenches.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(testbenches.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(testbenches.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(testbenches.west)-(0, 0.15)$); + + \draw[->, opacity=0] ($(implementation.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(implementation.west)+(0, 0.15)$); + \draw[<-, opacity=0] ($(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); + + % Only for overview + \draw[->] ($(implementation_phase.west-|model.east)-(0, 0.3)$) -- ($(implementation_phase.west)-(0, 0.3)$); + \draw[<-] ($(implementation_phase.west-|model.east)+(0, 0.3)$) -- ($(implementation_phase.west)+(0, 0.3)$); + + % % 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}}; + + % % 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 + +#+attr_latex: :width \linewidth +#+RESULTS: +[[file:figs/nass_mechatronics_approach_detailed_phase.png]] + +** TODO Nano-Hexapod Overview - Key elements + +#+attr_latex: :width \linewidth +[[file:figs/nano_hexapod_elements.red.pdf]] + +** DONE Include Flexible Elements in a Multi-Body model +CLOSED: [2021-07-09 ven. 14:13] + +#+attr_latex: :width \linewidth +[[file:figs/super_element_simscape.pdf]] + +** TODO Choice of Actuator - Amplifier Piezoelectric Actuator + +\vspace{-2em} +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.5 +:END: + +\scriptsize +#+attr_latex: :environment tabularx :width 0.8\linewidth :align ccc +#+attr_latex: :center t :booktabs t +| *Characteristic* | *Specs* | *Doc.* | +|-------------------+--------------------------------------+--------------------------------| +| Axial Stiff. | \SI{\approx 1}{\newton/\micro\meter} | \SI{1.8}{\newton/\micro\meter} | +| Sufficient Stroke | \SI{> 100}{\micro\meter} | \SI{368}{\micro\meter} | +| Height | \SI{< 50}{\milli\meter} | \SI{30}{\milli\meter} | +| High Resolution | \SI{< 5}{\nano\meter} | \SI{3}{\nano\meter} | +\normalsize + +\vspace{-1em} + +#+caption: Picture of the APA300ML +#+attr_latex: :width 0.9\linewidth +[[file:figs/apa300ml_picture.jpg]] + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.5 +:END: + +\vspace{-1em} + +**** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.4 +:END: + +#+caption: 2-DoF Model +#+attr_latex: :width 0.8\linewidth +[[file:figs/2dof_apa_model.pdf]] + +**** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.6 +:END: + +\vspace{-1.6em} + +#+caption: APA Finite Element Model +#+attr_latex: :width 0.9\linewidth +[[file:figs/mesh_APA_schematic.pdf]] + +**** Continue :B_ignoreheading: +:PROPERTIES: +:BEAMER_env: ignoreheading +:END: + +#+caption: Flexible Modes due to limited APA stiffness +#+attr_latex: :width \linewidth +[[file:figs/mode_shapes_annotated.pdf]] + +** Flexible Joints - Specifications and Optimization ([[https://research.tdehaeze.xyz/test-bench-nass-flexible-joints/][link]]) + +\vspace{-2em} + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.75 +:END: + +\scriptsize +#+attr_latex: :environment tabularx :width \linewidth :align ccccc +#+attr_latex: :center t :booktabs t +| *Goal* | *Stiffness* | *Specs* | *FEM* | *Measured* | +|-------------------+----------------+-----------------------------------+-------+------------| +| High DVF Damping | Axial | \SI{> 100}{\newton/\micro\meter} | 94 | | +| Low Coupling | Bending | \SI{< 100}{\newton\meter/\radian} | 5 | 3.8 | +| Low Coupling | Torsion | \SI{< 500}{\newton\meter/\radian} | 260 | | +| Sufficient Stroke | Bending Stroke | \SI{> 1}{\milli\radian} | 20 | 18 | +\normalsize + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.25 +:END: + +\vspace{-3em} + +#+caption: Dimensions after optimization +#+attr_latex: :width \linewidth +[[file:figs/flexible_joint_dimensions.pdf]] + +*** Continue :B_ignoreheading: +:PROPERTIES: +:BEAMER_env: ignoreheading +:END: + +\vspace{-3em} + +**** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.45 +:END: + +#+caption: Positioning of the top joint +#+attr_latex: :width \linewidth +[[file:figs/location_top_flexible_joints.pdf]] + +**** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.55 +:END: + +\vspace{2em} + +#+caption: Simscape Model +#+attr_latex: :width \linewidth +[[file:figs/simscape_model_flexible_joint.pdf]] + + +** TODO Instrumentation + +- PD200 amplifier +- Encoders +- Speedgoat, DAC, ADC +- PEPU +- Attocube + +* Experimental Phase +** Outline - Experimental Phase +#+begin_src latex :file nass_mechatronics_approach_experimental_phase.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, opacity=0, 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}}; + + % % 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 + +#+attr_latex: :width \linewidth +#+RESULTS: +[[file:figs/nass_mechatronics_approach_experimental_phase.png]] + +** Flexible Joints - Measurements +\vspace{-2em} +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.45 +:END: + +#+caption: Measurement bench +#+attr_latex: :width \linewidth +[[file:figs/flexible_joint_bench.pdf]] + + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.55 +:END: + +#+caption: Measured displacement and force +#+attr_latex: :width \linewidth +[[file:figs/flex_joint_meas_example_F_d_lin_fit.pdf]] + +** DONE Amplified Piezoelectric Actuator - Test Bench +CLOSED: [2021-07-21 mer. 15:26] + +\vspace{-1em} + +#+attr_latex: :width \linewidth +[[file:figs/test_bench_apa300ml.red.pdf]] + +#+begin_export beamer +\begin{tikzpicture}[remember picture, overlay] + \node[align=left, anchor=north east, text width=4.5cm] at (current page.north east){% + \begin{tcolorbox}[title=Goals] + \begin{itemize} + \item Identify Dynamics + \item Tune APA Model + \item Test IFF + \end{itemize} + \end{tcolorbox}}; +\end{tikzpicture} +#+end_export + +** DONE Amplified Piezoelectric Actuator - Extracted Model +CLOSED: [2021-07-21 mer. 15:27] + +#+attr_latex: :width \linewidth +[[file:figs/apa_comp_model_frf.pdf]] + +** DONE Amplified Piezoelectric Actuator - Integral Force Feedback +CLOSED: [2021-07-21 mer. 17:40] +\vspace{-3em} +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.62 +:END: + +#+attr_latex: :width \linewidth +[[file:figs/test_bench_apa300ml_iff.pdf]] + +\[ K_{\text{IFF}}(s) = \frac{g}{s} \] + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.38 +:END: + +#+attr_latex: :width \linewidth +[[file:figs/iff_results_apa95ml.pdf]] + +** DONE Strut - Mounting Tool +CLOSED: [2021-07-21 mer. 15:23] +\vspace{-2.5em} +*** Requirements :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.63 +:END: + +#+attr_latex: :width \linewidth +[[file:figs/image_mounting_strut_bench.JPG]] + +*** Requirements :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.37 +:END: + +#+attr_latex: :width \linewidth +[[file:figs/mounted_strut_picture.jpg]] + +#+begin_export beamer +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +#+end_export +** DONE Strut - Dynamical Measurements +CLOSED: [2021-07-21 mer. 16:30] + +\vspace{-1em} + +#+attr_latex: :width \linewidth +[[file:figs/test_bench_strut.red.pdf]] + +#+begin_export beamer +\begin{tikzpicture}[remember picture, overlay] + \node[align=left, anchor=north east, text width=5cm] at (current page.north east){% + \begin{tcolorbox}[title=Goals] + \begin{itemize} + \item Identify Dynamics + \item Tune Model + \item Flexible joints effects + \item Encoder effect + \end{itemize} + \end{tcolorbox}}; +\end{tikzpicture} +#+end_export + +** DONE Strut - Encoders Output and Spurious Modes +CLOSED: [2021-07-21 mer. 16:47] +\vspace{-3em} +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.45 +:END: + +#+attr_latex: :width \linewidth +[[file:figs/frf_model_encoder_strut.pdf]] + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.55 +:END: + +#+attr_latex: :width \linewidth +[[file:figs/meas_spur_res_struts_2_encoder.jpg]] + +#+attr_latex: :width \linewidth +[[file:figs/mode_shapes_annotated.pdf]] + +#+begin_export beamer +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +#+end_export + +** DONE Strut - Extracted Model +CLOSED: [2021-07-21 mer. 16:47] + +\vspace{-1em} + +#+attr_latex: :width \linewidth +[[file:figs/strut_meas_frf_model_int_force.pdf]] + +** DONE Nano-Hexapod Mounting Tool +CLOSED: [2021-07-21 mer. 16:47] + +#+attr_latex: :width 0.9\linewidth +[[file:figs/nano_hexapod_mounting.JPG]] + +#+begin_export beamer +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +#+end_export + +** DONE Mounted Nano-Hexapod +CLOSED: [2021-07-21 mer. 17:43] + +\vspace{-1em} + +#+attr_latex: :width \linewidth +[[file:figs/mounted_nano_hexapod_picture.jpg]] + +** Nano-Hexapod - Identified Dynamics + +Diagonal + off-diagonal transfer function from Va to De (comp with model) + +** Nano-Hexapod - Force Sensors + +Diagonal + off-diagonal transfer function from Va to Vs + +** Nano-Hexapod - Damped Dynamics + +Damped and Undamped, Diagonal + off-diagonal transfer function from Va to De + +** DONE The Nano-Hexapod on top of the Micro-Station +CLOSED: [2021-07-08 jeu. 11:33] + +\vspace{-0.5em} + +#+Beamer: \only<1>{ + +#+attr_latex: :width 0.85\linewidth +[[file:figs/nano_hexapod_id31.jpg]] + +#+Beamer: }\only<2>{ + +#+attr_latex: :width 0.85\linewidth +[[file:figs/nano_hexapod_id31_zoom.jpg]] + +#+Beamer: } + +* Conclusion +** Conclusion +* Backup Slides :noexport: +:PROPERTIES: +:UNNUMBERED: notoc +:END: +\appendix +** Spindle's Test Bench +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.7 +:END: + +#+attr_latex: :width \linewidth +#+caption: CAD view of the spindle's test bench +[[file:figs/test_bench_hexapod_spindle.red.pdf]] + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.3 +:END: + +*Steps*: +- [X] Design +- [ ] Procurement +- [ ] Mounting +- [ ] Experiments + +\vspace{1em} + +*Goals*: +- Identify control plant +- Develop control laws +- Effect of rotation +- Robustness to change of payload's mass +- Access performances + + +** DONE Noise Budgeting - Determination of the required Control Bandwidth +CLOSED: [2021-07-08 jeu. 11:12] + +#+attr_latex: :width 0.85\linewidth +[[file:figs/noise_budgeting_bandwidth.pdf]] + +** DONE Benefits of Feedback Control - Controller Bandwidth +CLOSED: [2021-07-09 ven. 09:24] + +#+begin_src latex :file loop-gain-schematic.pdf +\begin{tikzpicture} + \begin{axis}[% + width=12cm, + height=6cm, + at={(0,0)}, + xmode=log, + xmin=1, + xmax=2000, + xtick={1, 10, 100, 1000}, + xticklabels={1, 10, 100, 1000}, + xlabel={Frequency [Hz]}, + xminorticks=true, + ymode=log, + ymin=1e-02, + ymax=1e+02, + yminorticks=true, + ylabel={Loop Gain $=|\text{contr.} \times \text{plant}|$ [-]}, + ytick={0.01, 0.1, 1, 10, 100}, + yticklabels={0.01, 0.1, 1, 10, 100}, + xminorgrids, + yminorgrids, + ] + + \draw[dashed] (1, 1) -- (2e3, 1); + \draw[ultra thick, color=colorred] (1, 1e2) -- (1e2, 1) -- (2e3, 0.05); + + \node[branch] (bw) at (100, 1) {}; + + \draw[<->] (2, 50) -- (2, 1) node[above right, align=left]{Disturbance\\Rejectection}; + \draw[<->] (1000, 0.1) -- (1000, 1) node[below left, align=right]{Sensor Noise\\Filtering}; + + \draw[dashed] (100, 1e-2)node[above right, anchor=north west, rotate=90]{Bandwdith} -- (100, 1e2); + \draw[<->] (65, 20) node[anchor=east]{$\begin{rcases} \searrow \text{dist. reject.} \\ \nearrow \text{noise filt.} \end{rcases}$} -- (150, 20) node[above, anchor=west]{$\begin{cases} \nearrow \text{dist. reject.} \\ \searrow \text{noise filt.} \end{cases}$}; + \node[branch] at (100, 20){}; + + \draw[->] (20, 0.2) node[left] {Response Time $\approx 1/f_b$} to[out=0, in=225] (100, 1); + \end{axis} +\end{tikzpicture} +#+end_src + +#+attr_latex: :width 0.95\linewidth +#+RESULTS: +[[file:figs/loop-gain-schematic.png]] + +** Key Elements of the Nano-Hexapod - Overview + +#+attr_latex: :width \linewidth +[[file:figs/nass-practical-elements.red.pdf]] + +** Positioning of top flexible joints $b_i$ + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.5 +:END: + +#+attr_latex: :width \linewidth +#+caption: Fixed orientation of the struts +[[file:figs/fixation_flexible_joints.pdf]] + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.5 +:END: + +#+attr_latex: :width \linewidth +#+caption: Location of the top flexible joint +[[file:figs/location_top_flexible_joints.pdf]] + +** Orientation of the struts and flexible joint's mechanical stop +\vspace{-1em} +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.7 +:END: + +#+attr_latex: :width 0.9\linewidth +#+caption: Location of the bottom flexble joint +[[file:figs/location_bot_flex.pdf]] + +*** Column :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.3 +:END: + +#+attr_latex: :width 0.95\linewidth +#+caption: Flexible Joints - Tolerances +[[file:figs/specifications_flexible_joints.red.pdf]] + +** Active Damping Using Amplified Piezoelectric Actuator ([[https://research.tdehaeze.xyz/test-bench-apa/][link]]) + +\vspace{-1em} + +#+attr_latex: :width \linewidth +[[file:figs/nass-active-damping.pdf]] + +** Dynamical Models: From simple to Complex + +*** Mass Spring Damper :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.33 +:END: + +#+attr_latex: :options [title=Mass Spring Damper] +#+begin_tcolorbox +- Simplistic +- Easy to use +- Useful to +#+end_tcolorbox + +*** Multi Body :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.33 +:END: + +#+attr_latex: :options [title=Multi-Body, left=0pt] +#+begin_tcolorbox +- Accurate for most systems +- Very versatile +#+end_tcolorbox + +*** Multi Body + FEM :BMCOL: +:PROPERTIES: +:BEAMER_col: 0.33 +:END: + +#+attr_latex: :options [title=Flexible Elements] +#+begin_tcolorbox +- Very accurate +- Difficult to perform simulations +#+end_tcolorbox + ** TODO The Nano-Hexapod - Why such mechanical architecture? - Why stewart architecture - 6 DoF to control / 6 actuators @@ -329,876 +1461,3 @@ CLOSED: [2021-07-08 jeu. 14:04] [[file:figs/011_Flame.pdf]] #+Beamer: } - -** DONE Overview of the Mechatronic Approach - Model Based Design -CLOSED: [2021-07-06 mar. 21:44] - -\vspace{-1em} - -#+begin_src latex :file nass-mechatronics-approach.pdf -\graphicspath{ {/home/thomas/Cloud/thesis/meetings/engineering-meeting/2021-07-12-NASS/figs} } - -\begin{tikzpicture} - % Styles - \tikzset{myblock/.style= {draw, fill=white, text width=3cm, align=center, minimum height=1.8cm}}; - \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[myblock, fill=lightblue, draw, label={[mylabel, text width=9.8cm] Dynamical Models / Simulations / Control}, minimum height = 8cm, text width = 9.8cm] (model) at (0, 0) {}; - - \node[myblock, fill=lightgreen, label={[mylabel] $\mu$ Station}, left = 3 of model.south west, anchor=south east] (mustation) {}; - \node[myblock, fill=lightgreen, label={[mylabel] Disturbances}, left = 3 of model.west] (dist) {}; - \node[myblock, fill=lightgreen, label={[mylabel] $\nu$ Hexapod}, left = 3 of model.north west, anchor=north east] (nanohexapod) {}; - - \node[myblock, fill=lightyellow, label={[mylabel] Mech. Design}, above = 1 of model.north] (mechanical) {}; - \node[myblock, fill=lightyellow, label={[mylabel] Instrumentation}, left = 1 of mechanical] (instrumentation) {}; - \node[myblock, fill=lightyellow, label={[mylabel] FEM}, right = 1 of mechanical] (fem) {}; - - \node[myblock, fill=lightred, label={[mylabel] Assembly}, right = 3 of model.north east, anchor=north west] (mounting) {}; - \node[myblock, fill=lightred, label={[mylabel] Test Benches}, right = 3 of model.east] (testbenches) {}; - \node[myblock, fill=lightred, label={[mylabel] Implementation}, right = 3 of model.south east, anchor=south west] (implementation) {}; - - % Text - \node[mymodel] at (mustation.south) {Multiple Stages\\Complex Dynamics\\Solid Bodies}; - \node[mymodel] at (dist.south) {Ground Motion\\Vibrations\\Pos. Errors}; - \node[mymodel] at (nanohexapod.south) {Concepts (Soft, Stiff) \\ Geometry \\ Sensors}; - - \node[mymodel] at (instrumentation.south) {Sensors\\Amplifiers\\Actuators}; - \node[mymodel] at (mechanical.south) {Geometry\\Part Optimization\\Integration}; - \node[mymodel] at (fem.south) {Flexible joints\\APA\\Plates}; - - \node[mymodel] at (mounting.south) {Mounting Tools:\\Struts\\ Nano-Hexapod}; - \node[mymodel] at (testbenches.south) {Instrumentation\\APA, Struts\\Hexapod}; - \node[mymodel] at (implementation.south) {Test Benches\\$\mu$ Station}; - - % Links - \draw[->] (dist.east) -- node[above, midway]{Measurements} node[below,midway]{} (dist.east-|model.west); - \draw[->] (mustation.east) -- node[above, midway]{Measurements} node[below, midway]{CAD Model} (mustation.east-|model.west); - - \draw[->] ($(nanohexapod.east-|model.west)+(0, 0.2)$) -- node[above, midway]{Optimization} ($(nanohexapod.east)+(0, 0.2)$); - \draw[<-] ($(nanohexapod.east-|model.west)-(0, 0.2)$) -- node[below, midway]{Model} ($(nanohexapod.east)-(0, 0.2)$); - - \draw[->] ($(fem.south|-model.north)+(0.2, 0)$) -- node[right, midway]{Specif.} ($(fem.south)+(0.2,0)$); - \draw[<-] ($(fem.south|-model.north)-(0.2, 0)$) -- node[left, midway,align=right]{Super\\Element} ($(fem.south)-(0.2,0)$); - - \draw[->] ($(mechanical.south|-model.north)+(0.2, 0)$) -- node[right, midway]{Specif.} ($(mechanical.south)+(0.2,0)$); - \draw[<-] ($(mechanical.south|-model.north)-(0.2, 0)$) -- node[left, midway]{3D parts} ($(mechanical.south)-(0.2,0)$); - - \draw[->] ($(instrumentation.south|-model.north)+(0.2, 0)$) -- node[right, midway]{Specif.} ($(instrumentation.south)+(0.2,0)$); - \draw[<-] ($(instrumentation.south|-model.north)-(0.2, 0)$) -- node[left, midway]{Model} ($(instrumentation.south)-(0.2,0)$); - - \draw[->] ($(testbenches.west-|model.east)+(0, 0.2)$) -- node[above, midway]{Control Laws} ($(testbenches.west)+(0, 0.2)$); - \draw[<-] ($(testbenches.west-|model.east)-(0, 0.2)$) -- node[below, midway]{Refinement} ($(testbenches.west)-(0, 0.2)$); - - \draw[->] ($(implementation.west-|model.east)+(0, 0.2)$) -- node[above, midway]{Control Laws} ($(implementation.west)+(0, 0.2)$); - \draw[<-] ($(implementation.west-|model.east)-(0, 0.2)$) -- node[below, midway]{Refinement} ($(implementation.west)-(0, 0.2)$); - - % Steps - \draw[mystep] (mustation.north) -- (dist.south); - \draw[mystep] (dist.north) -- (nanohexapod.south); - \draw[mystep, postaction={decorate,decoration={raise=1ex,text along path,text align=center,text={Validation of Concept}}}] (nanohexapod.north) to[out=90, in=180] (instrumentation.west); - \draw[mystep] (instrumentation.east) -- (mechanical.west); - \draw[mystep] (mechanical.east) -- (fem.west); - \draw[mystep, postaction={decorate,decoration={raise=1ex,text along path,text align=center,text={Procurement}}}] (fem.east) to[out=0, in=90] (mounting.north); - \draw[mystep] (mounting.south) -- (testbenches.north); - \draw[mystep] (testbenches.south) -- (implementation.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}}; - - % 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 - -#+attr_latex: :width \linewidth -#+RESULTS: -[[file:figs/nass-mechatronics-approach.png]] - -** Outline -\tableofcontents - -* Conceptual Phase - Models and Simulations -** DONE Basics of Feedback Control - The Control Loop -CLOSED: [2021-07-09 ven. 09:30] - -\vspace{-2em} - -#+begin_src latex :file classical_feedback_schematic.pdf -\begin{tikzpicture} - \node[block] (controller) {Controller}; - \node[block, right = 1 of controller] (driver) {Driver}; - \node[block, right = 1 of driver] (actuator) {Actuator}; - \node[block, right = 1 of actuator, align=center] (system) {Mechanical\\System}; - \node[block, right = 1 of system] (sensor) {Sensor}; - - % Connections and labels - \draw[->] (controller.east) node[above right]{$u$} -- (driver.west); - \draw[->] (driver.east) -- (actuator.west); - \draw[->] (actuator.east) -- (system.west); - \draw[->] (system.east) -- (sensor.west); - \draw[->] (sensor.east) -- ++(1.6, 0); - \draw[->] ($(sensor.east)+(1.2,0)$)node[branch]{}node[above]{$y$} -- ++(0, -2.0) -| (controller.south); - - \draw[<-] (controller.west) -- ++(-1.0, 0) node[above right]{$r$}; - \draw[<-] (driver.north) -- ++(0, 1.2) node[below right, align=left]{Electrical\\Noise}; - \draw[<-] (system.north) -- ++(0, 1.2) node[below right, align=left]{Disturbances}; - \draw[<-] (sensor.north) -- ++(0, 1.2) node[below right, align=left](sensornoise){Sensor\\Noise}; - - % Plant - \begin{scope}[on background layer] - \node[fit={(driver.south west) (sensornoise.north east)}, fill=black!20!white, draw, dashed, inner sep=8pt] (plant) {}; - \node[below] at (plant.north) {\textbf{Plant}}; - \end{scope} - - \draw[->, dashed] ($(plant.south) + (0, -0.3)$) arc (90:-90:0.3) -- ++(-2.0, 0) arc (-90:-270:0.3); - \node[left] at ($(plant.south) + (0, -0.6)$) {Loop Gain} -\end{tikzpicture} -#+end_src - -#+attr_latex: :width \linewidth -#+RESULTS: -[[file:figs/classical_feedback_schematic.png]] - -\vspace{-1em} - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.4 -:END: - -#+attr_latex: :options [title=Why Feedback?] -#+begin_tcolorbox -- Model uncertainties -- Unknown disturbances -#+end_tcolorbox - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.6 -:END: - -#+attr_latex: :options [title=Every elements can limit the performances] -#+begin_tcolorbox -- Drivers, Actuators, Sensors -- Mechanical System -- Controller -#+end_tcolorbox - -** DONE Benefits of Feedback Control - Controller Bandwidth -CLOSED: [2021-07-09 ven. 09:24] - -#+begin_src latex :file loop-gain-schematic.pdf -\begin{tikzpicture} - \begin{axis}[% - width=12cm, - height=6cm, - at={(0,0)}, - xmode=log, - xmin=1, - xmax=2000, - xtick={1, 10, 100, 1000}, - xticklabels={1, 10, 100, 1000}, - xlabel={Frequency [Hz]}, - xminorticks=true, - ymode=log, - ymin=1e-02, - ymax=1e+02, - yminorticks=true, - ylabel={Loop Gain $=|\text{contr.} \times \text{plant}|$ [-]}, - ytick={0.01, 0.1, 1, 10, 100}, - yticklabels={0.01, 0.1, 1, 10, 100}, - xminorgrids, - yminorgrids, - ] - - \draw[dashed] (1, 1) -- (2e3, 1); - \draw[ultra thick, color=colorred] (1, 1e2) -- (1e2, 1) -- (2e3, 0.05); - - \node[branch] (bw) at (100, 1) {}; - - \draw[<->] (2, 50) -- (2, 1) node[above right, align=left]{Disturbance\\Rejectection}; - \draw[<->] (1000, 0.1) -- (1000, 1) node[below left, align=right]{Sensor Noise\\Filtering}; - - \draw[dashed] (100, 1e-2)node[above right, anchor=north west, rotate=90]{Bandwdith} -- (100, 1e2); - \draw[<->] (65, 20) node[anchor=east]{$\begin{rcases} \searrow \text{dist. reject.} \\ \nearrow \text{noise filt.} \end{rcases}$} -- (150, 20) node[above, anchor=west]{$\begin{cases} \nearrow \text{dist. reject.} \\ \searrow \text{noise filt.} \end{cases}$}; - \node[branch] at (100, 20){}; - - \draw[->] (20, 0.2) node[left] {Response Time $\approx 1/f_b$} to[out=0, in=225] (100, 1); - \end{axis} -\end{tikzpicture} -#+end_src - -#+attr_latex: :width 0.95\linewidth -#+RESULTS: -[[file:figs/loop-gain-schematic.png]] - -** DONE Noise Budgeting - Determination of the required Control Bandwidth -CLOSED: [2021-07-08 jeu. 11:12] - - -#+attr_latex: :width 0.85\linewidth -[[file:figs/noise_budgeting_bandwidth.pdf]] - -** DONE Limitation of the Controller Bandwidth -CLOSED: [2021-07-08 jeu. 09:46] -*** Figures :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.6 -:END: - -\vspace{-2em} - -#+Beamer: \only<1>{ - -#+attr_latex: :width \linewidth -[[file:figs/control_bandwidth_1_classical.pdf]] - -#+Beamer: }\only<2>{ - -#+attr_latex: :width \linewidth -[[file:figs/control_bandwidth_2_above_res.pdf]] - -#+Beamer: }\only<3>{ - -#+attr_latex: :width \linewidth -[[file:figs/control_bandwidth_3_next_gen.pdf]] - -#+Beamer: } - -*** Text :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.4 -:END: - -\vspace{-2em} - -#+attr_latex: :width \linewidth -[[file:figs/test_bench_apa_simple.pdf]] - -#+Beamer: \only<1>{ - -#+attr_latex: :options [title=Typical Approach, fontupper=\small] -#+begin_tcolorbox -\parindent0pt -- Mechanics as stiff as possible -- Simple controller (e.g. PID) -#+end_tcolorbox - -#+Beamer: }\only<2>{ - -#+attr_latex: :options [title=Alternative Approach, fontupper=\small] -#+begin_tcolorbox -Limited by complex dynamics\newline -Model based controller -#+end_tcolorbox - -#+Beamer: }\only<3>{ - -#+attr_latex: :options [title=Next-Gen Systems, fontupper=\small] -#+begin_tcolorbox -Active research topic\newline -Complex controllers -#+end_tcolorbox - -#+Beamer: } - -** DONE Soft or Stiff $\nu\text{-hexapod}$ ? Interaction with the $\mu\text{-station}$ -CLOSED: [2021-07-09 ven. 13:37] - -\vspace{-3em} -*** Schematic :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.3 -:END: - -#+Beamer: \onslide<1->{ - -#+attr_latex: :width \linewidth -[[file:figs/nass_example_uncertainty_support_only_hexapod.pdf]] - -#+Beamer: }\onslide<2->{ - -#+attr_latex: :width \linewidth -[[file:figs/nass_example_uncertainty_support.pdf]] - -#+Beamer: } - -*** Plots :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.7 -:END: - -#+Beamer: \onslide<1->{ - -#+attr_latex: :width \linewidth -[[file:figs/nass_example_alone.pdf]] - -\vspace{-2em} - -#+Beamer: }\onslide<2->{ - -#+attr_latex: :width \linewidth -[[file:figs/nass_example_support_uncertainty_d_L.pdf]] - -#+Beamer: } - -** DONE Complexity of the Micro-Station Dynamics -CLOSED: [2021-07-09 ven. 13:41] - -\vspace{-1em} - -#+attr_latex: :width 0.95\linewidth -[[file:figs/modes_annotated.gif]] - -** Dynamical Models: From simple to Complex - -*** Mass Spring Damper :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.33 -:END: - -#+attr_latex: :options [title=Mass Spring Damper] -#+begin_tcolorbox -- Simplistic -- Easy to use -- Useful to -#+end_tcolorbox - -*** Multi Body :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.33 -:END: - -#+attr_latex: :options [title=Multi-Body, left=0pt] -#+begin_tcolorbox -- Accurate for most systems -- Very versatile -#+end_tcolorbox - -*** Multi Body + FEM :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.33 -:END: - -#+attr_latex: :options [title=Flexible Elements] -#+begin_tcolorbox -- Very accurate -- Difficult to perform simulations -#+end_tcolorbox - -** DONE Include Flexible Elements in a Multi-Body model -CLOSED: [2021-07-09 ven. 14:13] - -#+attr_latex: :width \linewidth -[[file:figs/super_element_simscape.pdf]] - -** DONE Control Strategy: HAC-LAC -CLOSED: [2021-07-09 ven. 15:51] - -\vspace{-0.5em} - -#+attr_latex: :width \linewidth -[[file:figs/nass_schematic_test.pdf]] - -\vspace{-2.0em} - -*** LAC :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -#+attr_latex: :options [title=Low Authority Control] -#+begin_tcolorbox -- Collocated sensors/actuators -- Guaranteed Stability -- Adds damping -- $\searrow$ vibration near resonances -#+end_tcolorbox - -*** HAC :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -#+attr_latex: :options [title=High Authority Control] -#+begin_tcolorbox -- Position sensors -- Complex dynamics -- $\searrow$ vibration in the bandwidth -- Use transformation matrices -#+end_tcolorbox - -** Active Damping Using Amplified Piezoelectric Actuator ([[https://research.tdehaeze.xyz/test-bench-apa/][link]]) - -\vspace{-1em} - -#+attr_latex: :width \linewidth -[[file:figs/nass-active-damping.pdf]] - -* Design of the Nano Hexapod -** Nano-Hexapod Overview - Key elements - -\vspace{-1.5em} - -#+attr_latex: :width \linewidth -[[file:figs/nano_hexapod_elements.red.pdf]] - -\vspace{1em} - -*Requirements*: -\vspace{-1em} -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: -- Good positioning of $b_i$ -- Good orientation of struts $\hat{s}_i$ - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: -- Stiff platforms -- Flexible joints with low bending stiffness and high axial stiffness - -** Choice of Actuator - Amplifier Piezoelectric Actuator - -Why not very stiff actuators: -- more coupling with the micro-station dynamics -- more transmission of vibrations coming from the stages below -- controlling the top platform position w.r.t. bottom platform is *very* different from controlling the position of the top platform with respect to the granite - -Requirements: -- Stiffness ~1N/um -- Limited height -- Stroke > 200um -- Force sensor: useful for active damping - -** Choice of Sensors - Encoders and Force Sensors - -** Flexible Joints - Specifications and Optimization ([[https://research.tdehaeze.xyz/test-bench-nass-flexible-joints/][link]]) - -\vspace{-2em} - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.75 -:END: - -\scriptsize -#+attr_latex: :environment tabularx :width \linewidth :align ccccc -#+attr_latex: :center t :booktabs t :float t -| *Goal* | *Stiffness* | *Specs* | *FEM* | *Measured* | -|-------------------+----------------+-----------------------------------+-------+------------| -| High DVF Damping | Axial | \SI{> 100}{\newton/\micro\meter} | 94 | | -| Low Coupling | Bending | \SI{< 100}{\newton\meter/\radian} | 5 | 3.8 | -| Low Coupling | Torsion | \SI{< 500}{\newton\meter/\radian} | 260 | | -| Sufficient Stroke | Bending Stroke | \SI{> 1}{\milli\radian} | 20 | 18 | -\normalsize - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.25 -:END: - -\vspace{-3em} - -#+caption: Dimensions after optimization -#+attr_latex: :width \linewidth -[[file:figs/flexible_joint_dimensions.pdf]] - -*** Continue :B_ignoreheading: -:PROPERTIES: -:BEAMER_env: ignoreheading -:END: - -\vspace{-3em} - -**** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.45 -:END: - -#+caption: Positioning of the top joint -#+attr_latex: :width \linewidth -[[file:figs/location_top_flexible_joints.pdf]] - -**** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.55 -:END: - -\vspace{2em} - -#+caption: Simscape Model -#+attr_latex: :width \linewidth -[[file:figs/simscape_model_flexible_joint.pdf]] - - -** Flexible Joints - Measurements ([[https://research.tdehaeze.xyz/test-bench-nass-flexible-joints/][link]]) - -\vspace{-2em} - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.45 -:END: - -#+caption: Measurement bench -#+attr_latex: :width 0.9\linewidth -[[file:figs/flexible_joint_bench.pdf]] - -\vspace{-2em} - -#+caption: Measured displacement and force -#+attr_latex: :width 0.7\linewidth -[[file:figs/flex_joint_meas_example_F_d_lin_fit.pdf]] - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.55 -:END: - -\vspace{-2em} - -#+caption: Zoom on the flexible joint -#+attr_latex: :width 0.7\linewidth -[[file:figs/picture_joint_zoom.png]] - -\vspace{-3em} - -**** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.3 -:END: - -#+caption: Picture of the Flexible Joint -#+attr_latex: :width 0.9\linewidth -[[file:figs/flexible_joint_bench_picture.png]] - -**** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.7 -:END: - -\vspace{-1em} - -#+caption: Measured bending stiffness -#+attr_latex: :width \linewidth -[[file:figs/flexible_joint_stiffness.pdf]] - -** Positioning of top flexible joints $b_i$ - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -#+attr_latex: :width \linewidth -#+caption: Fixed orientation of the struts -[[file:figs/fixation_flexible_joints.pdf]] - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -#+attr_latex: :width \linewidth -#+caption: Location of the top flexible joint -[[file:figs/location_top_flexible_joints.pdf]] - -** Orientation of the struts and flexible joint's mechanical stop -\vspace{-1em} -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.7 -:END: - -#+attr_latex: :width 0.9\linewidth -#+caption: Location of the bottom flexble joint -[[file:figs/location_bot_flex.pdf]] - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.3 -:END: - -#+attr_latex: :width 0.95\linewidth -#+caption: Flexible Joints - Tolerances -[[file:figs/specifications_flexible_joints.red.pdf]] - -* Nano-Hexapod Mounting -** Struts Mounting - Requirements -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.7 -:END: - -*Requirements*: -- Ensure good coaxiality between joint's cylindrical ends - -\vspace{1em} - -*Goals*: -- Induce no excessive stress in the flexible joints -- Do not loose too much stroke - -\vspace{1em} - -*Basic Idea*: -- Use a mounting tool with tight tolerances that ensure proper mounting - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.3 -:END: - -\vspace{-4em} - -#+attr_latex: :width \linewidth -#+caption: Hexapod's strut -[[file:figs/single_strut.pdf]] - -** Mounting Tool ([[https://research.tdehaeze.xyz/test-bench-strut-mounting/][report]]) - -#+attr_latex: :width 0.9\linewidth -#+caption: Precised machined mounting tool as ensure both coaxiality and length -[[file:figs/strut_mounting_step_0.red.pdf]] - -** Step 1 - Mounting Flexible Joints -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.35 -:END: - -#+attr_latex: :width \linewidth -#+caption: Flexible joints fixed in their support -[[file:figs/strut_mounting_step_1.red.pdf]] - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.65 -:END: - -#+attr_latex: :width \linewidth -#+caption: Mounting tool with flexible joints -[[file:figs/strut_mounting_step_2.red.pdf]] - -** Step 2 - Mounting APA - -#+attr_latex: :width \linewidth -#+caption: Use of cylindrical nuts and washer because of poor APA tolerances -[[file:figs/strut_mounting_step_3.red.pdf]] - -** Step 3 - Aligning Encoders - -#+attr_latex: :width \linewidth -#+caption: Proper alignment of encoder -[[file:figs/strut_mounting_step_4.red.pdf]] - -** Mounted Strut - -#+attr_latex: :width 0.9\linewidth -#+caption: Mounted strut with ensure coaxiality -[[file:figs/mounted_strut.red.pdf]] - -** Nano-Hexapod Mounting - Requirements - -*Requirements*: -- Mount struts without introducing any additional strain in the flexible joints -- Precise positioning of $a_i$ and orientation $\hat{s}_i$ - -#+attr_latex: :width \linewidth -#+caption: Cut view of the nano-hexapod's mounting bench -[[file:figs/mounting_hexapod_cut.pdf]] - -** Nano-Hexapod Mounting - Custom mounting element ([[https://research.tdehaeze.xyz/nass-nano-hexapod-assembly/][report]]) - -#+attr_latex: :width 0.8\linewidth -[[file:figs/center_part_hexapod_mounting.png]] - -* Test Benches -** Key Elements of the Nano-Hexapod - Overview - -#+attr_latex: :width \linewidth -[[file:figs/nass-practical-elements.red.pdf]] - -** Flexible Joints ([[https://research.tdehaeze.xyz/test-bench-nass-flexible-joints/][report]]) -\vspace{-1em} -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -#+caption: Flexible joint thickness -#+attr_latex: :width \linewidth -[[file:figs/soft_measure_flex_size.jpg]] - -- Received the flexible joints -- Cleaned them with fishing line and ultrasonic bath -- Checked dimensions - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -\vspace{-2.5em} - -#+caption: Received flexible joints -#+attr_latex: :width \linewidth -[[file:figs/IMG_20210302_173619.jpg]] - -\vspace{-2em} - -#+caption: Histogram of measured thickness -#+attr_latex: :width 0.9\linewidth -[[file:figs/beam_dim_histogram.pdf]] - -** Flexible Joints ([[https://research.tdehaeze.xyz/test-bench-nass-flexible-joints/][report]]) -\vspace{-1em} -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -\vspace{-1em} - -#+caption: Measurement bench -#+attr_latex: :width \linewidth -[[file:figs/picture_bending_x_meas_side_close.jpg]] - -\vspace{-2em} - -#+caption: Displacement as a function of force -#+attr_latex: :width 0.9\linewidth -[[file:figs/flex_joint_meas_example_F_d_lin_fit.pdf]] - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -\vspace{-4.5em} - -#+caption: Time domain measurement -#+attr_latex: :width \linewidth -[[file:figs/flex_joint_meas_example_time_domain.pdf]] - -\vspace{-2em} - -#+caption: Histogram of measured stiffness -#+attr_latex: :width 0.9\linewidth -[[file:figs/bending_stiffness_histogram.pdf]] - - -** Amplified Piezoelectric Actuator - APA300ML ([[https://research.tdehaeze.xyz/test-bench-apa300ml/][report]]) -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -\vspace{-3.5em} - -#+attr_latex: :width \linewidth -#+caption: CAD view of the "APA300ML test bench" -[[file:figs/test_bench_apa300ml.red.pdf]] - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.5 -:END: - -- [ ] Add Bode Plot of Transfer functions from Va to Vs and to D -- => model extracted - -** Struts ([[https://research.tdehaeze.xyz/test-bench-apa300ml/][report]]) -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.7 -:END: - -\vspace{-3em} - -#+attr_latex: :width \linewidth -#+caption: CAD view of the "strut test bench" -[[file:figs/test_bench_strut.red.pdf]] - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.3 -:END: - -- [ ] TF - -** Struts - Struts Spurious modes ([[https://research.tdehaeze.xyz/test-bench-apa300ml/][report]]) - -- [ ] GIF with modes -- [ ] Measurement of these modes -- [ ] TF from Vs to De => problems -- [ ] But no resonance for transfer function from Vs to Da -- [ ] => thanks to model and FEM => resonances are due to the misalignment of APA with Struts -- [ ] Solution => put the encoders fixed to the plates and not to the struts - -** Nano-Hexapod - Identification ([[https://research.tdehaeze.xyz/test-bench-nano-hexapod/][report]]) - - -** Spindle's Test Bench -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.7 -:END: - -#+attr_latex: :width \linewidth -#+caption: CAD view of the spindle's test bench -[[file:figs/test_bench_hexapod_spindle.red.pdf]] - -*** Column :BMCOL: -:PROPERTIES: -:BEAMER_col: 0.3 -:END: - -*Steps*: -- [X] Design -- [ ] Procurement -- [ ] Mounting -- [ ] Experiments - -\vspace{1em} - -*Goals*: -- Identify control plant -- Develop control laws -- Effect of rotation -- Robustness to change of payload's mass -- Access performances - - -** DONE The Nano-Hexapod on top of the Micro-Station -CLOSED: [2021-07-08 jeu. 11:33] - -\vspace{-0.5em} - -#+Beamer: \only<1>{ - -#+attr_latex: :width 0.85\linewidth -[[file:figs/nano_hexapod_id31.jpg]] - -#+Beamer: }\only<2>{ - -#+attr_latex: :width 0.85\linewidth -[[file:figs/nano_hexapod_id31_zoom.jpg]] - -#+Beamer: } diff --git a/talk/dehaeze21_mechatronics_approach_nass_talk.pdf b/talk/dehaeze21_mechatronics_approach_nass_talk.pdf index 37c5c39..a804340 100644 Binary files a/talk/dehaeze21_mechatronics_approach_nass_talk.pdf and b/talk/dehaeze21_mechatronics_approach_nass_talk.pdf differ diff --git a/talk/dehaeze21_mechatronics_approach_nass_talk.tex b/talk/dehaeze21_mechatronics_approach_nass_talk.tex index f8cdf6f..6dde08d 100644 --- a/talk/dehaeze21_mechatronics_approach_nass_talk.tex +++ b/talk/dehaeze21_mechatronics_approach_nass_talk.tex @@ -1,4 +1,4 @@ -% Created 2021-07-20 mar. 14:23 +% Created 2021-07-22 jeu. 08:10 % Intended LaTeX compiler: pdflatex \documentclass[aspectratio=169, t]{clean-beamer} \usepackage[utf8]{inputenc} @@ -25,10 +25,9 @@ \institute[shortinst]{\inst{1} European Synchrotron Radiation Facility, Grenoble, France \and % \inst{2} Precision Mechatronics Laboratory, University of Liege, Belgium \and % \inst{3} BEAMS Department, Free University of Brussels, Belgium} -\vspace{-0.5em} \titlegraphic{\includegraphics[height=1.5cm]{figs/logo_pml_full.pdf} \hspace{5em} % \includegraphics[height=1.5cm]{figs/logo_esrf.pdf} \hspace{5em} % -\includegraphics[height=1.5cm]{figs/logo_medsi.pdf}} +\includegraphics[height=1.5cm]{figs/logo_medsi.jpg}} \beamertemplatenavigationsymbolsempty \addtobeamertemplate{navigation symbols}{}{% \usebeamerfont{footline}% @@ -36,16 +35,10 @@ \hspace{1em}% \insertframenumber/\inserttotalframenumber } +\setlength{\leftmargini}{5pt} \setbeamertemplate{itemize items}[circle] \usefonttheme[onlymath]{serif} -\AtBeginSection[]{ -\begin{frame}{Outline} -\tableofcontents[currentsection, hideothersubsections, sectionstyle=show/shaded] -\end{frame} -} \makeatletter -\preto\Gin@extensions{gif,} -\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png} \preto\Gin@extensions{png,} \DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf} \makeatother @@ -66,217 +59,589 @@ \begin{document} \maketitle + \section*{Introduction} -\begin{frame}[label={sec:org4b0545d}]{The ID31 Micro Station} +\begin{frame}[label={sec:orgdc51d45}]{The ID31 Micro Station} \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/assemblage.png} +\includegraphics[scale=1,width=0.95\linewidth]{figs/micro_hexapod_render.pdf} \end{center} -\textbf{Objective}: Position samples along complex trajectories with high precision\newline -\textbf{Stacked Positioning Stages}: \(\approx 10\,\mu m\) precision limited by stages vibrations, thermal effects, ground motion, \ldots{} +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} \end{frame} -\begin{frame}[label={sec:orgb7c2959}]{Introduction - The Nano Active Stabilization System} +\begin{frame}[label={sec:orgd54db4c}]{Introduction - The Nano Active Stabilization System} \textbf{Objective}: Improve the position accuracy from \(\approx 10\,\mu m\) down to \(\approx 10\,nm\) \newline -\textbf{Design approach}: ``Model based design'' (extensive use of models and test benches) +\textbf{Design approach}: ``Model based design'' / ``Predictive Design'' \begin{center} \includegraphics[scale=1,width=\linewidth]{figs/nass-concept.pdf} \end{center} \end{frame} -\begin{frame}[label={sec:orgaf8e005}]{The Nano-Hexapod - Why such mechanical architecture?} -\begin{itemize} -\item Why stewart architecture -\begin{itemize} -\item 6 DoF to control / 6 actuators -\end{itemize} -\item Only flexible elements -\begin{itemize} -\item no backlash -\item no play -\end{itemize} -\item How it is working -\begin{itemize} -\item Jacobian matrix both for actuation and sensing -\end{itemize} -\item Forward / Inverse kinematics : meaning. Easy to compute for small displacements -\item[{$\square$}] Schematic of Stewart platform -\end{itemize} - +\begin{frame}[label={sec:org58304ff}]{Overview of the Mechatronic Approach - Model Based Design} \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/nano_hexapod_elements.red.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/nass_mechatronics_approach.png} \end{center} \end{frame} -\begin{frame}[label={sec:orgb9ee458}]{Stewart Platforms Architecture} -\vspace{-2em} +\section{Conceptual Phase} +\begin{frame}[label={sec:org95b2a1a}]{Outline - Conceptual Phase} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/nass_mechatronics_approach_conceptual_phase.png} +\end{center} +\end{frame} -\begin{columns} -\begin{column}{0.5\columnwidth} -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=\linewidth]{figs/stewart_schematic.png} -\caption{\label{fig:stewart_schematic}Geometry of a Stewart Platform} -\end{figure} +\begin{frame}[label={sec:org612b41f}]{Feedback Control - The Control Loop} +\vspace{-1em} + +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/classical_feedback_schematic.png} +\end{center} \vspace{-1em} -\begin{tcolorbox}[title=Advantages] +\begin{columns} +\begin{column}{0.4\columnwidth} +\begin{tcolorbox}[title=Why Feedback?] \begin{itemize} -\item Compact -\item Allows 6dof motion -\item Can be ``monolithic'' +\item Model uncertainties +\item Unknown disturbances \end{itemize} \end{tcolorbox} \end{column} -\begin{column}{0.5\columnwidth} -\begin{tcolorbox}[title=Definition of the Geomtry] +\begin{column}{0.6\columnwidth} +\begin{tcolorbox}[title=Every elements can limit the performances] \begin{itemize} -\item \(\bm{a}_i\): position of the attachment points on the fixed base -\item \(\bm{b}_i\): position of moving attachment points -\item \(l_i\): length of each limb -\item \(\hat{\bm{s}}_i\): unit vector representing the direction of each limb +\item Drivers, Actuators, Sensors +\item Mechanical System +\item Controller \end{itemize} \end{tcolorbox} \end{column} \end{columns} \end{frame} -\begin{frame}[label={sec:org09981cc}]{Stewart Platform Architecture - Kinematics} -\begin{itemize} -\item \(\bm{\mathcal{L}} = \left[ l_1, l_2, \ldots, l_6 \right]^T\): vector of actuated joint coordinates -\item \(\bm{\mathcal{X}} = \left[ {}^A\bm{P}, \bm{}^A\hat{\bm{s}} \right]^T\): vector of platform motion variables -\end{itemize} +\begin{frame}[label={sec:orga5ea61a}]{Noise Budgeting and Required Control Bandwidth} +\vspace{-1em} -\begin{align*} -\bm{\mathcal{X}} & \xrightarrow[\text{Simple}]{\text{Inverse Kinematics}} \bm{\mathcal{L}} \\ -\bm{\mathcal{L}} & \xrightarrow[\text{Complex}]{\text{Forward Kinematics}} \bm{\mathcal{X}} -\end{align*} - -For small displacements: \textbf{Jacobian} matrix -\begin{equation*} - \bm{J} = \begin{bmatrix} - {\hat{\bm{s}}_1}^T & (\bm{b}_1 \times \hat{\bm{s}}_1)^T \\ - {\hat{\bm{s}}_2}^T & (\bm{b}_2 \times \hat{\bm{s}}_2)^T \\ - {\hat{\bm{s}}_3}^T & (\bm{b}_3 \times \hat{\bm{s}}_3)^T \\ - {\hat{\bm{s}}_4}^T & (\bm{b}_4 \times \hat{\bm{s}}_4)^T \\ - {\hat{\bm{s}}_5}^T & (\bm{b}_5 \times \hat{\bm{s}}_5)^T \\ - {\hat{\bm{s}}_6}^T & (\bm{b}_6 \times \hat{\bm{s}}_6)^T - \end{bmatrix} -\end{equation*} - -\begin{align*} - \delta\bm{\mathcal{L}} &= \bm{J} \delta\bm{\mathcal{X}} \\ - \delta\bm{\mathcal{X}} &= \bm{J}^{-1} \delta\bm{\mathcal{L}} -\end{align*} - -As an example, for the Nano-Hexapod: -\begin{equation*} -\bm{J} = \begin{bmatrix*}[r] - 0.69 & -0.38 & 0.61 & -0.13 & -0.10 & 0.08 \\ --0.69 & -0.38 & 0.61 & -0.13 & 0.10 & -0.08 \\ --0.02 & 0.80 & 0.61 & 0.15 & -0.06 & 0.08 \\ - 0.68 & -0.41 & 0.61 & -0.02 & -0.16 & -0.08 \\ --0.68 & -0.41 & 0.61 & -0.02 & 0.16 & 0.08 \\ - 0.02 & 0.80 & 0.61 & 0.15 & 0.06 & -0.08 -\end{bmatrix*}, \quad \bm{J}^{-1} = \begin{bmatrix*}[r] - 0.84 & -0.84 & -1.00 & -0.15 & 0.15 & 1.00 \\ - 0.66 & 0.66 & 0.39 & -1.06 & -1.06 & 0.39 \\ - 0.27 & 0.27 & 0.27 & 0.27 & 0.27 & 0.27 \\ --4.51 & -4.51 & 0.12 & 4.39 & 4.39 & 0.12 \\ - 2.46 & -2.46 & -5.14 & -2.67 & 2.67 & 5.14 \\ - 1.96 & -1.96 & 1.96 & -1.96 & 1.96 & -1.96 -\end{bmatrix*} -\end{equation*} - -\begin{itemize} -\item[{$\square$}] Control architecture in the frame of the legs with the Jacobian matrix -\end{itemize} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/identification_control_noise_budget.red.pdf} +\end{center} \end{frame} -\begin{frame}[label={sec:orgec6681e}]{Control Challenges - Analogy} +\begin{frame}[label={sec:orgd23064f}]{Limitation of the Controller Bandwidth?} +\begin{columns} +\begin{column}{0.6\columnwidth} \vspace{-2em} \only<1>{ \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/001_Room.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/control_bandwidth_1_classical.pdf} \end{center} }\only<2>{ \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/002_Analogies.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/control_bandwidth_2_above_res.pdf} \end{center} }\only<3>{ \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/003_Laser.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/control_bandwidth_3_next_gen.pdf} \end{center} -}\only<4>{ +} +\end{column} + +\begin{column}{0.4\columnwidth} +\vspace{-2em} \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/004_Top-Platform.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/test_bench_apa_simple.pdf} \end{center} -}\only<5>{ +\only<1>{ + +\begin{tcolorbox}[title=Typical Approach, fontupper=\small] +``As stiff as possible'' \newline +Simple controller (e.g. PID) +\end{tcolorbox} + +}\only<2>{ + +\begin{tcolorbox}[title=Alternative Approach, fontupper=\small] +Limited by complex dynamics\newline +Model based controller +\end{tcolorbox} + +}\only<3>{ + +\begin{tcolorbox}[title=Next-Gen Systems, fontupper=\small] +Active research topic\newline +Complex controllers +\end{tcolorbox} + +} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[label={sec:org9493c8d}]{Soft or Stiff \(\nu\text{-hexapod}\) ? Interaction with the \(\mu\text{-station}\)} +\vspace{-3em} +\begin{columns} +\begin{column}{0.3\columnwidth} +\onslide<1->{ \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/005_Candle.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/nass_example_uncertainty_support_only_hexapod.pdf} \end{center} -}\only<6>{ +}\onslide<2->{ \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/006_Objective and Challenges.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/nass_example_uncertainty_support.pdf} \end{center} -}\only<7>{ +} +\end{column} + +\begin{column}{0.7\columnwidth} +\onslide<1->{ \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/007_Truck.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/nass_example_alone.pdf} \end{center} -}\only<8>{ +\vspace{-2em} + +}\onslide<2->{ \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/008_Trampoline.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/nass_example_support_uncertainty_d_L.pdf} \end{center} -}\only<9>{ +} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[label={sec:orgddab963}]{Complexity of the Micro-Station Dynamics (Model Analysis)} +\vspace{-1em} \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/009_Spindle.pdf} +\includegraphics[scale=1,width=0.95\linewidth]{figs/modes_annotated.png} \end{center} -}\only<10>{ +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +\end{frame} + +\begin{frame}[label={sec:org3dfae25}]{Control Strategy: HAC-LAC} +\vspace{-0.5em} \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/010_Metrology.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/nass_schematic_test.pdf} \end{center} -}\only<11>{ +\vspace{-2.0em} + +\begin{columns} +\begin{column}{0.5\columnwidth} +\begin{tcolorbox}[title=Low Authority Control] +\begin{itemize} +\item Collocated sensors/actuators +\item Guaranteed Stability +\item Adds damping +\item \(\searrow\) vibration near resonances +\end{itemize} +\end{tcolorbox} +\end{column} + +\begin{column}{0.5\columnwidth} +\begin{tcolorbox}[title=High Authority Control] +\begin{itemize} +\item Position sensors +\item Complex dynamics +\item \(\searrow\) vibration in the bandwidth +\item Use transformation matrices +\end{itemize} +\end{tcolorbox} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[label={sec:orgb8b73a0}]{Multi-Body Models - Simulations} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/simscape_simulation.jpg} +\end{center} + + +\begin{tikzpicture}[remember picture, overlay] + \node[align=left, anchor=south east, text width=5.5cm,shift={(-1em, 1em)}] at (current page.south east){% + \begin{tcolorbox} + \begin{center} + Validation of the concept + \end{center} + \end{tcolorbox}}; +\end{tikzpicture} + +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +\end{frame} + +\section{Detail Design Phase} +\begin{frame}[label={sec:org6378434}]{Outline - Detail Design Phase} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/nass_mechatronics_approach_detailed_phase.png} +\end{center} +\end{frame} + +\begin{frame}[label={sec:orgc57fa9c}]{Nano-Hexapod Overview - Key elements} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/nano_hexapod_elements.red.pdf} +\end{center} +\end{frame} + +\begin{frame}[label={sec:orga847212}]{Include Flexible Elements in a Multi-Body model} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/super_element_simscape.pdf} +\end{center} +\end{frame} + +\begin{frame}[label={sec:org36e74d8}]{Choice of Actuator - Amplifier Piezoelectric Actuator} +\vspace{-2em} +\begin{columns} +\begin{column}{0.5\columnwidth} +\scriptsize +\begin{center} +\begin{tabularx}{0.8\linewidth}{ccc} +\toprule +\textbf{Characteristic} & \textbf{Specs} & \textbf{Doc.}\\ +\midrule +Axial Stiff. & \SI{\approx 1}{\newton/\micro\meter} & \SI{1.8}{\newton/\micro\meter}\\ +Sufficient Stroke & \SI{> 100}{\micro\meter} & \SI{368}{\micro\meter}\\ +Height & \SI{< 50}{\milli\meter} & \SI{30}{\milli\meter}\\ +High Resolution & \SI{< 5}{\nano\meter} & \SI{3}{\nano\meter}\\ +\bottomrule +\end{tabularx} +\end{center} +\normalsize + +\vspace{-1em} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.9\linewidth]{figs/apa300ml_picture.jpg} +\caption{Picture of the APA300ML} +\end{figure} +\end{column} + +\begin{column}{0.5\columnwidth} +\vspace{-1em} + +\begin{columns} +\begin{column}{0.4\columnwidth} +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.8\linewidth]{figs/2dof_apa_model.pdf} +\caption{2-DoF Model} +\end{figure} +\end{column} + +\begin{column}{0.6\columnwidth} +\vspace{-1.6em} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.9\linewidth]{figs/mesh_APA_schematic.pdf} +\caption{APA Finite Element Model} +\end{figure} +\end{column} +\end{columns} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/mode_shapes_annotated.pdf} +\caption{Flexible Modes due to limited APA stiffness} +\end{figure} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[label={sec:orgaefb8a2}]{Flexible Joints - Specifications and Optimization (\href{https://research.tdehaeze.xyz/test-bench-nass-flexible-joints/}{link})} +\vspace{-2em} + +\begin{columns} +\begin{column}{0.75\columnwidth} +\scriptsize +\begin{center} +\begin{tabularx}{\linewidth}{ccccc} +\toprule +\textbf{Goal} & \textbf{Stiffness} & \textbf{Specs} & \textbf{FEM} & \textbf{Measured}\\ +\midrule +High DVF Damping & Axial & \SI{> 100}{\newton/\micro\meter} & 94 & \\ +Low Coupling & Bending & \SI{< 100}{\newton\meter/\radian} & 5 & 3.8\\ +Low Coupling & Torsion & \SI{< 500}{\newton\meter/\radian} & 260 & \\ +Sufficient Stroke & Bending Stroke & \SI{> 1}{\milli\radian} & 20 & 18\\ +\bottomrule +\end{tabularx} +\end{center} +\normalsize +\end{column} + +\begin{column}{0.25\columnwidth} +\vspace{-3em} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/flexible_joint_dimensions.pdf} +\caption{Dimensions after optimization} +\end{figure} +\end{column} +\end{columns} + +\vspace{-3em} + +\begin{columns} +\begin{column}{0.45\columnwidth} +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/location_top_flexible_joints.pdf} +\caption{Positioning of the top joint} +\end{figure} +\end{column} + +\begin{column}{0.55\columnwidth} +\vspace{2em} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/simscape_model_flexible_joint.pdf} +\caption{Simscape Model} +\end{figure} +\end{column} +\end{columns} +\end{frame} + + +\begin{frame}[label={sec:org1666f90}]{Instrumentation} +\begin{itemize} +\item PD200 amplifier +\item Encoders +\item Speedgoat, DAC, ADC +\item PEPU +\item Attocube +\end{itemize} +\end{frame} + +\section{Experimental Phase} +\begin{frame}[label={sec:org8c075cc}]{Outline - Experimental Phase} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/nass_mechatronics_approach_experimental_phase.png} +\end{center} +\end{frame} + +\begin{frame}[label={sec:org57e9067}]{Flexible Joints - Measurements} +\vspace{-2em} +\begin{columns} +\begin{column}{0.45\columnwidth} +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/flexible_joint_bench.pdf} +\caption{Measurement bench} +\end{figure} +\end{column} + + +\begin{column}{0.55\columnwidth} +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/flex_joint_meas_example_F_d_lin_fit.pdf} +\caption{Measured displacement and force} +\end{figure} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[label={sec:org230d623}]{Amplified Piezoelectric Actuator - Test Bench} +\vspace{-1em} \begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/011_Flame.pdf} +\includegraphics[scale=1,width=\linewidth]{figs/test_bench_apa300ml.red.pdf} +\end{center} + +\begin{tikzpicture}[remember picture, overlay] + \node[align=left, anchor=north east, text width=4.5cm] at (current page.north east){% + \begin{tcolorbox}[title=Goals] + \begin{itemize} + \item Identify Dynamics + \item Tune APA Model + \item Test IFF + \end{itemize} + \end{tcolorbox}}; +\end{tikzpicture} +\end{frame} + +\begin{frame}[label={sec:org9368c73}]{Amplified Piezoelectric Actuator - Extracted Model} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/apa_comp_model_frf.pdf} +\end{center} +\end{frame} + +\begin{frame}[label={sec:orga3a7c76}]{Amplified Piezoelectric Actuator - Integral Force Feedback} +\vspace{-3em} +\begin{columns} +\begin{column}{0.62\columnwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_bench_apa300ml_iff.pdf} +\end{center} + +\[ K_{\text{IFF}}(s) = \frac{g}{s} \] +\end{column} + +\begin{column}{0.38\columnwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/iff_results_apa95ml.pdf} +\end{center} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[label={sec:org4e8f560}]{Strut - Mounting Tool} +\vspace{-2.5em} +\begin{columns} +\begin{column}{0.63\columnwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/image_mounting_strut_bench.JPG} +\end{center} +\end{column} + +\begin{column}{0.37\columnwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/mounted_strut_picture.jpg} +\end{center} + +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +\end{column} +\end{columns} +\end{frame} +\begin{frame}[label={sec:orge547304}]{Strut - Dynamical Measurements} +\vspace{-1em} + +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_bench_strut.red.pdf} +\end{center} + +\begin{tikzpicture}[remember picture, overlay] + \node[align=left, anchor=north east, text width=5cm] at (current page.north east){% + \begin{tcolorbox}[title=Goals] + \begin{itemize} + \item Identify Dynamics + \item Tune Model + \item Flexible joints effects + \item Encoder effect + \end{itemize} + \end{tcolorbox}}; +\end{tikzpicture} +\end{frame} + +\begin{frame}[label={sec:org76a12db}]{Strut - Encoders Output and Spurious Modes} +\vspace{-3em} +\begin{columns} +\begin{column}{0.45\columnwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/frf_model_encoder_strut.pdf} +\end{center} +\end{column} + +\begin{column}{0.55\columnwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/meas_spur_res_struts_2_encoder.jpg} +\end{center} + +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/mode_shapes_annotated.pdf} +\end{center} + +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +\end{column} +\end{columns} +\end{frame} + +\begin{frame}[label={sec:org416c1db}]{Strut - Extracted Model} +\vspace{-1em} + +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/strut_meas_frf_model_int_force.pdf} +\end{center} +\end{frame} + +\begin{frame}[label={sec:orgd58b991}]{Nano-Hexapod Mounting Tool} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/nano_hexapod_mounting.JPG} +\end{center} + +\begin{tikzpicture}[remember picture,overlay] + \node[anchor=north east, padding=5pt] at (current page.north east){% + \includegraphics[width=2em]{figs/icon_animation.pdf}}; +\end{tikzpicture} +\end{frame} + +\begin{frame}[label={sec:orgb957064}]{Mounted Nano-Hexapod} +\vspace{-1em} + +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/mounted_nano_hexapod_picture.jpg} +\end{center} +\end{frame} + +\begin{frame}[label={sec:org92c51de}]{Nano-Hexapod - Identified Dynamics} +Diagonal + off-diagonal transfer function from Va to De (comp with model) +\end{frame} + +\begin{frame}[label={sec:orgafcfc6b}]{Nano-Hexapod - Force Sensors} +Diagonal + off-diagonal transfer function from Va to Vs +\end{frame} + +\begin{frame}[label={sec:org2608c34}]{Nano-Hexapod - Damped Dynamics} +Damped and Undamped, Diagonal + off-diagonal transfer function from Va to De +\end{frame} + +\begin{frame}[label={sec:org9e7c6f4}]{The Nano-Hexapod on top of the Micro-Station} +\vspace{-0.5em} + +\only<1>{ + +\begin{center} +\includegraphics[scale=1,width=0.85\linewidth]{figs/nano_hexapod_id31.jpg} +\end{center} + +}\only<2>{ + +\begin{center} +\includegraphics[scale=1,width=0.85\linewidth]{figs/nano_hexapod_id31_zoom.jpg} \end{center} } \end{frame} -\begin{frame}[label={sec:orgd25c78f}]{Overview of the Mechatronic Approach - Model Based Design} -\vspace{-1em} - -\begin{center} -\includegraphics[scale=1,width=\linewidth]{figs/nass-mechatronics-approach.png} -\end{center} -\end{frame} - -\begin{frame}[label={sec:org4f4bab3}]{Outline} -\tableofcontents +\section{Conclusion} +\begin{frame}[label={sec:orgee0f6f0}]{Conclusion} \end{frame} \end{document} diff --git a/talk/figs/001_Room.pdf b/talk/figs/001_Room.pdf deleted file mode 100644 index 6eaa59f..0000000 Binary files a/talk/figs/001_Room.pdf and /dev/null differ diff --git a/talk/figs/002_Analogies.pdf b/talk/figs/002_Analogies.pdf deleted file mode 100644 index e877c77..0000000 Binary files a/talk/figs/002_Analogies.pdf and /dev/null differ diff --git a/talk/figs/003_Laser.pdf b/talk/figs/003_Laser.pdf deleted file mode 100644 index 0572d7e..0000000 Binary files a/talk/figs/003_Laser.pdf and /dev/null differ diff --git a/talk/figs/004_Top-Platform.pdf b/talk/figs/004_Top-Platform.pdf deleted file mode 100644 index 11f3090..0000000 Binary files a/talk/figs/004_Top-Platform.pdf and /dev/null differ diff --git a/talk/figs/005_Candle.pdf b/talk/figs/005_Candle.pdf deleted file mode 100644 index 051cce3..0000000 Binary files a/talk/figs/005_Candle.pdf and /dev/null differ diff --git a/talk/figs/006_Objective and Challenges.pdf b/talk/figs/006_Objective and Challenges.pdf deleted file mode 100644 index eec49b6..0000000 Binary files a/talk/figs/006_Objective and Challenges.pdf and /dev/null differ diff --git a/talk/figs/007_Truck.pdf b/talk/figs/007_Truck.pdf deleted file mode 100644 index 2dd8ab3..0000000 Binary files a/talk/figs/007_Truck.pdf and /dev/null differ diff --git a/talk/figs/008_Trampoline.pdf b/talk/figs/008_Trampoline.pdf deleted file mode 100644 index 79d292d..0000000 Binary files a/talk/figs/008_Trampoline.pdf and /dev/null differ diff --git a/talk/figs/009_Spindle.pdf b/talk/figs/009_Spindle.pdf deleted file mode 100644 index 42375f0..0000000 Binary files a/talk/figs/009_Spindle.pdf and /dev/null differ diff --git a/talk/figs/010_Metrology.pdf b/talk/figs/010_Metrology.pdf deleted file mode 100644 index b676a44..0000000 Binary files a/talk/figs/010_Metrology.pdf and /dev/null differ diff --git a/talk/figs/011_Flame.pdf b/talk/figs/011_Flame.pdf deleted file mode 100644 index 812108e..0000000 Binary files a/talk/figs/011_Flame.pdf and /dev/null differ diff --git a/talk/figs/12600002.PNG b/talk/figs/12600002.PNG deleted file mode 100644 index 87bb9b8..0000000 Binary files a/talk/figs/12600002.PNG and /dev/null differ diff --git a/talk/figs/12600041-cut.PNG b/talk/figs/12600041-cut.PNG deleted file mode 100755 index a6514c8..0000000 Binary files a/talk/figs/12600041-cut.PNG and /dev/null differ diff --git a/talk/figs/12600041.PNG b/talk/figs/12600041.PNG deleted file mode 100755 index ab33dce..0000000 Binary files a/talk/figs/12600041.PNG and /dev/null differ diff --git a/talk/figs/Test bench layout-cut.PNG b/talk/figs/Test bench layout-cut.PNG deleted file mode 100755 index 3d3eea0..0000000 Binary files a/talk/figs/Test bench layout-cut.PNG and /dev/null differ diff --git a/talk/figs/Test bench layout-zoom.PNG b/talk/figs/Test bench layout-zoom.PNG deleted file mode 100755 index 4e068e5..0000000 Binary files a/talk/figs/Test bench layout-zoom.PNG and /dev/null differ diff --git a/talk/figs/Test bench layout.PNG b/talk/figs/Test bench layout.PNG deleted file mode 100755 index 6bc945d..0000000 Binary files a/talk/figs/Test bench layout.PNG and /dev/null differ diff --git a/talk/figs/analogy_nass.svg b/talk/figs/analogy_nass.svg deleted file mode 100644 index 575c0c6..0000000 Binary files a/talk/figs/analogy_nass.svg and /dev/null differ diff --git a/talk/figs/analogy_nass_1.pdf b/talk/figs/analogy_nass_1.pdf deleted file mode 100644 index 7221c02..0000000 Binary files a/talk/figs/analogy_nass_1.pdf and /dev/null differ diff --git a/talk/figs/assemblage.pdf b/talk/figs/assemblage.pdf deleted file mode 100644 index a6ff065..0000000 Binary files a/talk/figs/assemblage.pdf and /dev/null differ diff --git a/talk/figs/assemblage.png b/talk/figs/assemblage.png deleted file mode 100644 index b600941..0000000 Binary files a/talk/figs/assemblage.png and /dev/null differ diff --git a/talk/figs/assemblage.svg b/talk/figs/assemblage.svg deleted file mode 100644 index 6995b3a..0000000 Binary files a/talk/figs/assemblage.svg and /dev/null differ diff --git a/talk/figs/classical_feedback_schematic.pdf b/talk/figs/classical_feedback_schematic.pdf index c0c0064..5e3778a 100644 Binary files a/talk/figs/classical_feedback_schematic.pdf and b/talk/figs/classical_feedback_schematic.pdf differ diff --git a/talk/figs/classical_feedback_schematic.png b/talk/figs/classical_feedback_schematic.png index 236b4ab..dbd2a11 100644 Binary files a/talk/figs/classical_feedback_schematic.png and b/talk/figs/classical_feedback_schematic.png differ diff --git a/talk/figs/classical_feedback_schematic.svg b/talk/figs/classical_feedback_schematic.svg index a73a580..f206cd2 100644 Binary files a/talk/figs/classical_feedback_schematic.svg and b/talk/figs/classical_feedback_schematic.svg differ diff --git a/talk/figs/flex_joint_meas_example_F_d_lin_fit.pdf b/talk/figs/flex_joint_meas_example_F_d_lin_fit.pdf index 023cac0..2dee36e 100644 Binary files a/talk/figs/flex_joint_meas_example_F_d_lin_fit.pdf and b/talk/figs/flex_joint_meas_example_F_d_lin_fit.pdf differ diff --git a/talk/figs/flexible_joint_picture.png b/talk/figs/flexible_joint_picture.png deleted file mode 100644 index 00b33a8..0000000 Binary files a/talk/figs/flexible_joint_picture.png and /dev/null differ diff --git a/talk/figs/logo_medsi.pdf b/talk/figs/logo_medsi.pdf deleted file mode 100644 index 71f6e5e..0000000 Binary files a/talk/figs/logo_medsi.pdf and /dev/null differ diff --git a/talk/figs/logo_medsi.png b/talk/figs/logo_medsi.png deleted file mode 100644 index 30e53a8..0000000 Binary files a/talk/figs/logo_medsi.png and /dev/null differ diff --git a/talk/figs/nano_hexapod_elements.red.pdf b/talk/figs/nano_hexapod_elements.red.pdf index a18096b..e167e11 100644 Binary files a/talk/figs/nano_hexapod_elements.red.pdf and b/talk/figs/nano_hexapod_elements.red.pdf differ diff --git a/talk/figs/nano_hexapod_id31.png b/talk/figs/nano_hexapod_id31.png deleted file mode 100644 index 35458a3..0000000 Binary files a/talk/figs/nano_hexapod_id31.png and /dev/null differ diff --git a/talk/figs/nano_hexapod_id31_zoom.png b/talk/figs/nano_hexapod_id31_zoom.png deleted file mode 100644 index fc64a83..0000000 Binary files a/talk/figs/nano_hexapod_id31_zoom.png and /dev/null differ diff --git a/talk/figs/nass_mechatronics_approach_conceptual_phase.svg b/talk/figs/nass_mechatronics_approach_conceptual_phase.svg index 22b4e37..040d5b1 100644 Binary files a/talk/figs/nass_mechatronics_approach_conceptual_phase.svg and b/talk/figs/nass_mechatronics_approach_conceptual_phase.svg differ diff --git a/talk/figs/nass_mechatronics_approach_detailed_phase.svg b/talk/figs/nass_mechatronics_approach_detailed_phase.svg index 08fc420..54a6821 100644 Binary files a/talk/figs/nass_mechatronics_approach_detailed_phase.svg and b/talk/figs/nass_mechatronics_approach_detailed_phase.svg differ diff --git a/talk/figs/nass_mechatronics_approach_experimental_phase.svg b/talk/figs/nass_mechatronics_approach_experimental_phase.svg index 2cb4100..c1fb289 100644 Binary files a/talk/figs/nass_mechatronics_approach_experimental_phase.svg and b/talk/figs/nass_mechatronics_approach_experimental_phase.svg differ diff --git a/talk/figs/picture_joint_zoom.png b/talk/figs/picture_joint_zoom.png deleted file mode 100644 index fc998dd..0000000 Binary files a/talk/figs/picture_joint_zoom.png and /dev/null differ diff --git a/talk/figs/strut_picture.png b/talk/figs/strut_picture.png deleted file mode 100644 index 8642116..0000000 Binary files a/talk/figs/strut_picture.png and /dev/null differ diff --git a/talk/figs/super_element_simscape.pdf b/talk/figs/super_element_simscape.pdf index f1cde90..1af93eb 100644 Binary files a/talk/figs/super_element_simscape.pdf and b/talk/figs/super_element_simscape.pdf differ diff --git a/talk/figs/test_bench_apa300ml.pdf b/talk/figs/test_bench_apa300ml.pdf index e6f03be..c52a11d 100644 Binary files a/talk/figs/test_bench_apa300ml.pdf and b/talk/figs/test_bench_apa300ml.pdf differ diff --git a/talk/figs/test_bench_apa300ml.red.pdf b/talk/figs/test_bench_apa300ml.red.pdf index 4ba2919..93c59e0 100644 Binary files a/talk/figs/test_bench_apa300ml.red.pdf and b/talk/figs/test_bench_apa300ml.red.pdf differ diff --git a/talk/figs/test_bench_apa300ml.svg b/talk/figs/test_bench_apa300ml.svg index a156eb1..049a553 100644 Binary files a/talk/figs/test_bench_apa300ml.svg and b/talk/figs/test_bench_apa300ml.svg differ diff --git a/talk/figs/test_bench_strut.pdf b/talk/figs/test_bench_strut.pdf index bc014ec..95a8722 100644 Binary files a/talk/figs/test_bench_strut.pdf and b/talk/figs/test_bench_strut.pdf differ diff --git a/talk/figs/test_bench_strut.red.pdf b/talk/figs/test_bench_strut.red.pdf index 3cd5fb4..b2f2c15 100644 Binary files a/talk/figs/test_bench_strut.red.pdf and b/talk/figs/test_bench_strut.red.pdf differ diff --git a/talk/figs/test_bench_strut.svg b/talk/figs/test_bench_strut.svg index b647c03..03cd75a 100644 Binary files a/talk/figs/test_bench_strut.svg and b/talk/figs/test_bench_strut.svg differ