6.8 KiB
6.8 KiB
Tikz Figures
Mechatronic Approach
\graphicspath{ {/home/thomas/Cloud/thesis/papers/dehaeze21_mechatronics_approach_nass/tikz/figs-tikz} }
\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}