Add lot's of figures
@ -1,7 +1,7 @@
|
|||||||
#+TITLE: MECHATRONICS APPROACH FOR THE DEVELOPMENT OF A NANO-ACTIVE-STABILIZATION-SYSTEM
|
#+TITLE: MECHATRONICS APPROACH FOR THE DEVELOPMENT OF A NANO-ACTIVE-STABILIZATION-SYSTEM
|
||||||
:DRAWER:
|
:DRAWER:
|
||||||
#+LATEX_CLASS: jacow
|
#+LATEX_CLASS: jacow
|
||||||
#+LATEX_CLASS_OPTIONS: [a4paper, keeplastbox, biblatex]
|
#+LATEX_CLASS_OPTIONS: [a4paper, keeplastbox, biblatex, boxit]
|
||||||
#+OPTIONS: toc:nil
|
#+OPTIONS: toc:nil
|
||||||
#+STARTUP: overview
|
#+STARTUP: overview
|
||||||
|
|
||||||
@ -18,7 +18,8 @@
|
|||||||
|
|
||||||
#+LATEX_HEADER: \usepackage{pdfpages,multirow,ragged2e}
|
#+LATEX_HEADER: \usepackage{pdfpages,multirow,ragged2e}
|
||||||
#+LATEX_HEADER: \usepackage{graphicx,tabularx,booktabs}
|
#+LATEX_HEADER: \usepackage{graphicx,tabularx,booktabs}
|
||||||
#+LATEX_HEADER: \usepackage{blindtext}
|
#+LATEX_HEADER: \usepackage{blindtext,bm}
|
||||||
|
#+LATEX_HEADER: \usepackage{subcaption}
|
||||||
#+LATEX_HEADER: \usepackage[USenglish]{babel}
|
#+LATEX_HEADER: \usepackage[USenglish]{babel}
|
||||||
#+LATEX_HEADER: \setcounter{footnote}{1}
|
#+LATEX_HEADER: \setcounter{footnote}{1}
|
||||||
#+LATEX_HEADER_EXTRA: \usepackage[colorlinks=true, allcolors=blue]{hyperref}
|
#+LATEX_HEADER_EXTRA: \usepackage[colorlinks=true, allcolors=blue]{hyperref}
|
||||||
@ -58,20 +59,45 @@ The presented development approach is foreseen to be applied more frequently to
|
|||||||
|
|
||||||
See cite:dehaeze18_sampl_stabil_for_tomog_exper.
|
See cite:dehaeze18_sampl_stabil_for_tomog_exper.
|
||||||
|
|
||||||
* MECHATRONIC APPROACH
|
* NANO ACTIVE STABILIZATION SYSTEM
|
||||||
|
|
||||||
#+name: fig:nass_concept_schematic
|
#+name: fig:nass_concept_schematic
|
||||||
#+attr_latex: :scale 1
|
#+attr_latex: :scale 1
|
||||||
#+caption: Nano Active Stabilization System - Schematic representation. 1) micro-station, 2) nano-hexapod, 3) sample, 4) metrology system
|
#+caption: Nano Active Stabilization System - Schematic representation. 1) micro-station, 2) nano-hexapod, 3) sample, 4) metrology system
|
||||||
[[file:figs/nass_concept_schematic.pdf]]
|
[[file:figs/nass_concept_schematic.pdf]]
|
||||||
|
|
||||||
|
* MECHATRONIC APPROACH
|
||||||
|
|
||||||
#+name: fig:nass_mechatronics_approach
|
#+name: fig:nass_mechatronics_approach
|
||||||
#+attr_latex: :float multicolumn :width \linewidth
|
#+attr_latex: :float multicolumn :width \linewidth
|
||||||
#+caption: Overview of the mechatronic approach
|
#+caption: Overview of the mechatronic approach
|
||||||
[[file:figs/nass_mechatronics_approach.pdf]]
|
[[file:figs/nass_mechatronics_approach.pdf]]
|
||||||
|
|
||||||
|
#+begin_export latex
|
||||||
|
\begin{figure*}[htbp]
|
||||||
|
\begin{subfigure}[t]{0.25\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\linewidth]{figs/mass_spring_damper_hac_lac.pdf}
|
||||||
|
\caption{\label{fig:mass_spring_damper_hac_lac} Mass Spring Damper model}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[t]{0.48\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{figs/nass_simscape_3d.png}
|
||||||
|
\caption{\label{fig:nass_simscape_3d} Multi Body model}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[t]{0.25\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{figs/super_element_simscape_alt.pdf}
|
||||||
|
\caption{\label{fig:super_element_simscape} Finite Element Model}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\caption{\label{fig:nass_models}Models used during all the design process. From (\subref{fig:mass_spring_damper_hac_lac}), (\subref{fig:nass_simscape_3d}), (\subref{fig:super_element_simscape})}
|
||||||
|
\centering
|
||||||
|
\end{figure*}
|
||||||
|
#+end_export
|
||||||
|
|
||||||
|
|
||||||
* NANO-HEXAPOD DESIGN
|
* NANO-HEXAPOD DESIGN
|
||||||
|
|
||||||
#+name: fig:nano_hexapod_elements
|
#+name: fig:nano_hexapod_elements
|
||||||
@ -79,12 +105,59 @@ See cite:dehaeze18_sampl_stabil_for_tomog_exper.
|
|||||||
#+caption: CAD view of the nano-hexapod with key elements
|
#+caption: CAD view of the nano-hexapod with key elements
|
||||||
[[file:figs/nano_hexapod_elements.pdf]]
|
[[file:figs/nano_hexapod_elements.pdf]]
|
||||||
|
|
||||||
|
#+name: fig:picture_nano_hexapod_strut
|
||||||
|
#+attr_latex: :width \linewidth
|
||||||
|
#+caption: Picture of a nano-hexapod's strut
|
||||||
|
[[file:figs/picture_nano_hexapod_strut.pdf]]
|
||||||
|
|
||||||
|
#+name: fig:nano_hexapod_picture
|
||||||
|
#+attr_latex: :width \linewidth
|
||||||
|
#+caption: Picture of the Nano-Hexapod on top of the ID31 micro-station
|
||||||
|
[[file:figs/nano_hexapod_picture.jpg]]
|
||||||
|
|
||||||
* TEST-BENCHES
|
* TEST-BENCHES
|
||||||
|
|
||||||
#+name: fig:nass_hac_lac_schematic
|
#+name: fig:test_bench_apa_schematic
|
||||||
#+attr_latex: :float multicolumn :width \linewidth
|
#+attr_latex: :scale 1
|
||||||
#+caption: HAC-LAC Strategy - Block Diagram
|
#+caption: Schematic of the bench used to identify the APA dynamics
|
||||||
[[file:figs/nass_hac_lac_schematic.pdf]]
|
[[file:figs/test_bench_apa_schematic.pdf]]
|
||||||
|
|
||||||
|
#+begin_export latex
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\begin{subfigure}[t]{0.48\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{figs/apa_test_bench_results_de.pdf}
|
||||||
|
\caption{\label{fig:apa_test_bench_results_de} Encoder}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[t]{0.48\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{figs/apa_test_bench_results_Vs.pdf}
|
||||||
|
\caption{\label{fig:apa_test_bench_results_Vs} Force Sensor}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{\label{fig:apa_test_bench_results}Measured Frequency Response functions compared with the Simscape model. From the actuator stacks voltage to the encoder (\subref{fig:apa_test_bench_results_de}) and to the force sensor stack (\subref{fig:apa_test_bench_results_Vs}).}
|
||||||
|
\centering
|
||||||
|
\end{figure}
|
||||||
|
#+end_export
|
||||||
|
|
||||||
|
* CONTROL RESULTS
|
||||||
|
|
||||||
|
#+name: fig:nass_hac_lac_schematic_test
|
||||||
|
#+attr_latex: :width \linewidth
|
||||||
|
#+caption: HAC-LAC Strategy - Block Diagram. The signals are: $\bm{r}$ the wanted sample's position, $\bm{X}$ the measured sample's position, $\bm{\epsilon}_{\mathcal{X}}$ the sample's position error, $\bm{\epsilon}_{\mathcal{L}}$ the sample position error expressed in the "frame" of the nano-hexapod struts, $\bm{u}$ the generated DAC voltages applied to the voltage amplifiers and then to the piezoelectric actuator stacks, $\bm{u}^\prime$ the new inputs corresponding to the damped plant, $\bm{\tau}$ the measured sensor stack voltages. $\bm{T}$ is . $\bm{K}_{\tiny IFF}$ is the Low Authority Controller used for active damping. $\bm{K}_{\mathcal{L}}$ is the High Authority Controller.
|
||||||
|
[[file:figs/nass_hac_lac_block_diagram_without_elec.pdf]]
|
||||||
|
|
||||||
|
|
||||||
|
#+name: fig:nano_hexapod_identification_comp_simscape
|
||||||
|
#+attr_latex: :width \linewidth
|
||||||
|
#+caption: Measured FRF and Simscape identified dynamics.
|
||||||
|
[[file:figs/nano_hexapod_identification_comp_simscape.pdf]]
|
||||||
|
|
||||||
|
|
||||||
|
#+name: fig:nano_hexapod_identification_damp_comp_simscape
|
||||||
|
#+attr_latex: :width \linewidth
|
||||||
|
#+caption: Undamped and Damped plant using IFF (measured FRF and Simscape model).
|
||||||
|
[[file:figs/nano_hexapod_identification_damp_comp_simscape.pdf]]
|
||||||
|
|
||||||
* CONCLUSION
|
* CONCLUSION
|
||||||
|
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
% Created 2021-07-12 lun. 14:47
|
% Created 2021-07-13 mar. 00:51
|
||||||
% Intended LaTeX compiler: pdflatex
|
% Intended LaTeX compiler: pdflatex
|
||||||
\documentclass[a4paper, keeplastbox, biblatex]{jacow}
|
\documentclass[a4paper, keeplastbox, biblatex, boxit]{jacow}
|
||||||
|
|
||||||
\usepackage{pdfpages,multirow,ragged2e}
|
\usepackage{pdfpages,multirow,ragged2e}
|
||||||
\usepackage{graphicx,tabularx,booktabs}
|
\usepackage{graphicx,tabularx,booktabs}
|
||||||
\usepackage{blindtext}
|
\usepackage{blindtext,bm}
|
||||||
|
\usepackage{subcaption}
|
||||||
\usepackage[USenglish, english]{babel}
|
\usepackage[USenglish, english]{babel}
|
||||||
\setcounter{footnote}{1}
|
\setcounter{footnote}{1}
|
||||||
\usepackage[colorlinks=true, allcolors=blue]{hyperref}
|
\usepackage[colorlinks=true, allcolors=blue]{hyperref}
|
||||||
\addbibresource{ref.bib}
|
\addbibresource{ref.bib}
|
||||||
\author{T. Dehaeze\textsuperscript{1,}\thanks{thomas.dehaeze@esrf.fr}, J. Bonnefoy, ESRF, Grenoble, France \\ C. Collette\textsuperscript{1}, Université Libre de Bruxelles, BEAMS department, Brussels, Belgium \\ \textsuperscript{1}also at Precision Mechatronics Laboratory, University of Liege, Belgium}
|
\author{T. Dehaeze\textsuperscript{1,}\thanks{thomas.dehaeze@esrf.fr}, J. Bonnefoy, ESRF, Grenoble, France \\ C. Collette\textsuperscript{1}, Université Libre de Bruxelles, BEAMS department, Brussels, Belgium \\ \textsuperscript{1}also at Precision Mechatronics Laboratory, University of Liege, Belgium}
|
||||||
\date{2021-07-12}
|
\date{2021-07-13}
|
||||||
\title{MECHATRONICS APPROACH FOR THE DEVELOPMENT OF A NANO-ACTIVE-STABILIZATION-SYSTEM}
|
\title{MECHATRONICS APPROACH FOR THE DEVELOPMENT OF A NANO-ACTIVE-STABILIZATION-SYSTEM}
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
@ -31,12 +32,12 @@ The presented development approach is foreseen to be applied more frequently to
|
|||||||
\end{abstract}
|
\end{abstract}
|
||||||
|
|
||||||
\section{INTRODUCTION}
|
\section{INTRODUCTION}
|
||||||
\label{sec:org308d5f7}
|
\label{sec:org0bd2d65}
|
||||||
|
|
||||||
See \cite{dehaeze18_sampl_stabil_for_tomog_exper}.
|
See \cite{dehaeze18_sampl_stabil_for_tomog_exper}.
|
||||||
|
|
||||||
\section{MECHATRONIC APPROACH}
|
\section{NANO ACTIVE STABILIZATION SYSTEM}
|
||||||
\label{sec:org8ceb80a}
|
\label{sec:orgcb63b2b}
|
||||||
|
|
||||||
\begin{figure}[htbp]
|
\begin{figure}[htbp]
|
||||||
\centering
|
\centering
|
||||||
@ -44,16 +45,40 @@ See \cite{dehaeze18_sampl_stabil_for_tomog_exper}.
|
|||||||
\caption{\label{fig:nass_concept_schematic}Nano Active Stabilization System - Schematic representation. 1) micro-station, 2) nano-hexapod, 3) sample, 4) metrology system}
|
\caption{\label{fig:nass_concept_schematic}Nano Active Stabilization System - Schematic representation. 1) micro-station, 2) nano-hexapod, 3) sample, 4) metrology system}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
\section{MECHATRONIC APPROACH}
|
||||||
|
\label{sec:orgd2030b5}
|
||||||
\begin{figure*}
|
\begin{figure*}
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[scale=1,width=\linewidth]{figs/nass_mechatronics_approach.pdf}
|
\includegraphics[scale=1,width=\linewidth]{figs/nass_mechatronics_approach.pdf}
|
||||||
\caption{\label{fig:nass_mechatronics_approach}Overview of the mechatronic approach}
|
\caption{\label{fig:nass_mechatronics_approach}Overview of the mechatronic approach}
|
||||||
\end{figure*}
|
\end{figure*}
|
||||||
|
|
||||||
|
\begin{figure*}[htbp]
|
||||||
|
\begin{subfigure}[t]{0.25\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\linewidth]{figs/mass_spring_damper_hac_lac.pdf}
|
||||||
|
\caption{\label{fig:mass_spring_damper_hac_lac} Mass Spring Damper model}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[t]{0.48\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{figs/nass_simscape_3d.png}
|
||||||
|
\caption{\label{fig:nass_simscape_3d} Multi Body model}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[t]{0.25\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{figs/super_element_simscape_alt.pdf}
|
||||||
|
\caption{\label{fig:super_element_simscape} Finite Element Model}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\caption{\label{fig:nass_models}Models used during all the design process. From (\subref{fig:mass_spring_damper_hac_lac}), (\subref{fig:nass_simscape_3d}), (\subref{fig:super_element_simscape})}
|
||||||
|
\centering
|
||||||
|
\end{figure*}
|
||||||
|
|
||||||
|
|
||||||
\section{NANO-HEXAPOD DESIGN}
|
\section{NANO-HEXAPOD DESIGN}
|
||||||
\label{sec:org41b979c}
|
\label{sec:org923eba1}
|
||||||
|
|
||||||
\begin{figure*}
|
\begin{figure*}
|
||||||
\centering
|
\centering
|
||||||
@ -61,20 +86,71 @@ See \cite{dehaeze18_sampl_stabil_for_tomog_exper}.
|
|||||||
\caption{\label{fig:nano_hexapod_elements}CAD view of the nano-hexapod with key elements}
|
\caption{\label{fig:nano_hexapod_elements}CAD view of the nano-hexapod with key elements}
|
||||||
\end{figure*}
|
\end{figure*}
|
||||||
|
|
||||||
\section{TEST-BENCHES}
|
\begin{figure}[htbp]
|
||||||
\label{sec:orgd4b8fb2}
|
|
||||||
|
|
||||||
\begin{figure*}
|
|
||||||
\centering
|
\centering
|
||||||
\includegraphics[scale=1,width=\linewidth]{figs/nass_hac_lac_schematic.pdf}
|
\includegraphics[scale=1,width=\linewidth]{figs/picture_nano_hexapod_strut.pdf}
|
||||||
\caption{\label{fig:nass_hac_lac_schematic}HAC-LAC Strategy - Block Diagram}
|
\caption{\label{fig:picture_nano_hexapod_strut}Picture of a nano-hexapod's strut}
|
||||||
\end{figure*}
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=1,width=\linewidth]{figs/nano_hexapod_picture.jpg}
|
||||||
|
\caption{\label{fig:nano_hexapod_picture}Picture of the Nano-Hexapod on top of the ID31 micro-station}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\section{TEST-BENCHES}
|
||||||
|
\label{sec:orgeb70416}
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=1,scale=1]{figs/test_bench_apa_schematic.pdf}
|
||||||
|
\caption{\label{fig:test_bench_apa_schematic}Schematic of the bench used to identify the APA dynamics}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\begin{subfigure}[t]{0.48\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{figs/apa_test_bench_results_de.pdf}
|
||||||
|
\caption{\label{fig:apa_test_bench_results_de} Encoder}
|
||||||
|
\end{subfigure}
|
||||||
|
\hfill
|
||||||
|
\begin{subfigure}[t]{0.48\linewidth}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.95\linewidth]{figs/apa_test_bench_results_Vs.pdf}
|
||||||
|
\caption{\label{fig:apa_test_bench_results_Vs} Force Sensor}
|
||||||
|
\end{subfigure}
|
||||||
|
\caption{\label{fig:apa_test_bench_results}Measured Frequency Response functions compared with the Simscape model. From the actuator stacks voltage to the encoder (\subref{fig:apa_test_bench_results_de}) and to the force sensor stack (\subref{fig:apa_test_bench_results_Vs}).}
|
||||||
|
\centering
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\section{CONTROL RESULTS}
|
||||||
|
\label{sec:org2dca095}
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=1,width=\linewidth]{figs/nass_hac_lac_block_diagram_without_elec.pdf}
|
||||||
|
\caption{\label{fig:nass_hac_lac_schematic_test}HAC-LAC Strategy - Block Diagram. The signals are: \(\bm{r}\) the wanted sample's position, \(\bm{X}\) the measured sample's position, \(\bm{\epsilon}_{\mathcal{X}}\) the sample's position error, \(\bm{\epsilon}_{\mathcal{L}}\) the sample position error expressed in the ``frame'' of the nano-hexapod struts, \(\bm{u}\) the generated DAC voltages applied to the voltage amplifiers and then to the piezoelectric actuator stacks, \(\bm{u}^\prime\) the new inputs corresponding to the damped plant, \(\bm{\tau}\) the measured sensor stack voltages. \(\bm{T}\) is . \(\bm{K}_{\tiny IFF}\) is the Low Authority Controller used for active damping. \(\bm{K}_{\mathcal{L}}\) is the High Authority Controller.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=1,width=\linewidth]{figs/nano_hexapod_identification_comp_simscape.pdf}
|
||||||
|
\caption{\label{fig:nano_hexapod_identification_comp_simscape}Measured FRF and Simscape identified dynamics.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{figure}[htbp]
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=1,width=\linewidth]{figs/nano_hexapod_identification_damp_comp_simscape.pdf}
|
||||||
|
\caption{\label{fig:nano_hexapod_identification_damp_comp_simscape}Undamped and Damped plant using IFF (measured FRF and Simscape model).}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\section{CONCLUSION}
|
\section{CONCLUSION}
|
||||||
\label{sec:org45fae73}
|
\label{sec:orgce60d85}
|
||||||
|
|
||||||
\section{ACKNOWLEDGMENTS}
|
\section{ACKNOWLEDGMENTS}
|
||||||
\label{sec:org36b4615}
|
\label{sec:orgfea2444}
|
||||||
This research was made possible by a grant from the FRIA.
|
This research was made possible by a grant from the FRIA.
|
||||||
We thank the following people for their support, without whose help this work would never have been possible: V. Honkimaki, L. Ducotte and M. Lessourd and the whole team of the Precision Mechatronic Laboratory.
|
We thank the following people for their support, without whose help this work would never have been possible: V. Honkimaki, L. Ducotte and M. Lessourd and the whole team of the Precision Mechatronic Laboratory.
|
||||||
|
|
||||||
|
BIN
paper/figs/apa_test_bench_results.pdf
Normal file
BIN
paper/figs/apa_test_bench_results.svg
Normal file
After Width: | Height: | Size: 355 KiB |
BIN
paper/figs/apa_test_bench_results_Vs.pdf
Normal file
BIN
paper/figs/apa_test_bench_results_Vs.svg
Normal file
After Width: | Height: | Size: 358 KiB |
BIN
paper/figs/apa_test_bench_results_de.pdf
Normal file
BIN
paper/figs/apa_test_bench_results_de.svg
Normal file
After Width: | Height: | Size: 358 KiB |
BIN
paper/figs/mass_spring_damper_hac_lac.pdf
Normal file
BIN
paper/figs/mass_spring_damper_hac_lac.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
paper/figs/mass_spring_damper_hac_lac.svg
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
paper/figs/nano_hexapod_identification_comp_simscape.pdf
Normal file
BIN
paper/figs/nano_hexapod_identification_comp_simscape.svg
Normal file
After Width: | Height: | Size: 861 KiB |
BIN
paper/figs/nano_hexapod_identification_damp_comp_simscape.pdf
Normal file
BIN
paper/figs/nano_hexapod_identification_damp_comp_simscape.svg
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
paper/figs/nano_hexapod_picture.jpg
Normal file
After Width: | Height: | Size: 528 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
BIN
paper/figs/nass_hac_lac_block_diagram.pdf
Normal file
BIN
paper/figs/nass_hac_lac_block_diagram.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
paper/figs/nass_hac_lac_block_diagram.svg
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
paper/figs/nass_hac_lac_block_diagram_without_elec.pdf
Normal file
BIN
paper/figs/nass_hac_lac_block_diagram_without_elec.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
paper/figs/nass_hac_lac_block_diagram_without_elec.svg
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
paper/figs/nass_simscape_3d.png
Normal file
After Width: | Height: | Size: 227 KiB |
BIN
paper/figs/nass_simscape_no_sample.png
Normal file
After Width: | Height: | Size: 216 KiB |
BIN
paper/figs/nass_simscape_no_sample_bis.png
Normal file
After Width: | Height: | Size: 213 KiB |
BIN
paper/figs/picture_nano_hexapod_strut.pdf
Normal file
BIN
paper/figs/picture_nano_hexapod_strut.svg
Normal file
After Width: | Height: | Size: 1.4 MiB |
BIN
paper/figs/super_element_simscape.pdf
Normal file
BIN
paper/figs/super_element_simscape.svg
Normal file
After Width: | Height: | Size: 2.5 MiB |
BIN
paper/figs/super_element_simscape_alt.pdf
Normal file
BIN
paper/figs/super_element_simscape_alt.svg
Normal file
After Width: | Height: | Size: 2.5 MiB |
BIN
paper/figs/test_bench_apa_schematic.pdf
Normal file
BIN
paper/figs/test_bench_apa_schematic.svg
Normal file
After Width: | Height: | Size: 246 KiB |
@ -55,3 +55,11 @@
|
|||||||
url = {https://doi.org/10.1088/2631-8695/abe803},
|
url = {https://doi.org/10.1088/2631-8695/abe803},
|
||||||
month = {Feb},
|
month = {Feb},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@phdthesis{rankers98_machin,
|
||||||
|
author = {Rankers, Adrian Mathias},
|
||||||
|
school = {University of Twente},
|
||||||
|
title = {Machine dynamics in mechatronic systems: An engineering
|
||||||
|
approach.},
|
||||||
|
year = 1998,
|
||||||
|
}
|
||||||
|
@ -54,53 +54,44 @@
|
|||||||
|
|
||||||
* Tikz related packages
|
* Tikz related packages
|
||||||
#+begin_src latex
|
#+begin_src latex
|
||||||
\usepackage{tikz} % Tikz
|
\usepackage{tikz} % Tikz
|
||||||
\usepackage{tikzscale} % Used to scale Tikz graphics
|
\usepackage{tikzscale} % Used to scale Tikz graphics
|
||||||
\usepackage{adjustbox} % Used to proper positioning of tikz pictures
|
\usepackage{adjustbox} % Used to proper positioning of tikz pictures
|
||||||
\usepackage{circuitikz} % Draw electronic circuits
|
\usepackage{circuitikz} % Draw electronic circuits
|
||||||
\usepackage{pgfpages} % Needed to use notes
|
\usepackage{pgfpages} % Needed to use notes
|
||||||
\usepackage{pgfplots} % Used to plot functions
|
\usepackage{pgfplots} % Used to plot functions
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Tikz Libraries
|
* Tikz Libraries
|
||||||
#+begin_src latex
|
#+begin_src latex
|
||||||
\usetikzlibrary{arrows} % Arrow tip library
|
\usetikzlibrary{arrows} % Arrow tip library
|
||||||
\usetikzlibrary{arrows.meta} % Add some arrows
|
\usetikzlibrary{arrows.meta} % Add some arrows
|
||||||
\usetikzlibrary{calc} % The library allows advanced Coordinate Calculations
|
\usetikzlibrary{calc} % The library allows advanced Coordinate Calculations
|
||||||
\usetikzlibrary{intersections} % calculate intersections of paths
|
\usetikzlibrary{intersections} % calculate intersections of paths
|
||||||
\usetikzlibrary{matrix} %
|
\usetikzlibrary{matrix} %
|
||||||
\usetikzlibrary{patterns} %
|
\usetikzlibrary{patterns} %
|
||||||
\usetikzlibrary{shapes} % Defines circle and rectangle
|
\usetikzlibrary{shapes} % Defines circle and rectangle
|
||||||
\usetikzlibrary{shapes.geometric} % Use for the shape diamond and isosceles triangle
|
\usetikzlibrary{shapes.geometric} % Use for the shape diamond and isosceles triangle
|
||||||
\usetikzlibrary{snakes} % snake=coil and snake=zigzag using segment amplitude=10pt
|
\usetikzlibrary{snakes} % snake=coil and snake=zigzag using segment amplitude=10pt
|
||||||
\usetikzlibrary{positioning} % Additional options for placing nodes
|
\usetikzlibrary{positioning} % Additional options for placing nodes
|
||||||
\usetikzlibrary{3d} % Plot 3D shapes
|
\usetikzlibrary{3d} % Plot 3D shapes
|
||||||
\usetikzlibrary{spy} % Creating a magnified area
|
\usetikzlibrary{spy} % Creating a magnified area
|
||||||
\usetikzlibrary{decorations.text} % Used to make text follows a curve
|
\usetikzlibrary{decorations.text} % Used to make text follows a curve
|
||||||
\usetikzlibrary{decorations.pathmorphing} % deformation of a path
|
\usetikzlibrary{decorations.pathmorphing} % deformation of a path
|
||||||
\usetikzlibrary{decorations.markings} % Used for spring and damper
|
\usetikzlibrary{decorations.markings} % Used for spring and damper
|
||||||
\usetikzlibrary{babel} % A tiny library that make the interaction with the babel package easier
|
\usetikzlibrary{babel} % A tiny library that make the interaction with the babel package easier
|
||||||
\usetikzlibrary{plotmarks} % This library defines a number of plot marks
|
\usetikzlibrary{plotmarks} % This library defines a number of plot marks
|
||||||
\usetikzlibrary{fit} % Used to make rectangle as nodes by specifying two points
|
\usetikzlibrary{fit} % Used to make rectangle as nodes by specifying two points
|
||||||
\usetikzlibrary{backgrounds} % Used to put things under others
|
\usetikzlibrary{backgrounds} % Used to put things under others
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* PGF Plot libraries and config
|
* PGF Plot libraries and config
|
||||||
#+begin_src latex
|
#+begin_src latex
|
||||||
\usepgfplotslibrary{patchplots}
|
\usepgfplotslibrary{patchplots}
|
||||||
\usepgfplotslibrary{groupplots}
|
\usepgfplotslibrary{groupplots}
|
||||||
|
|
||||||
\pgfplotsset{compat=newest}
|
\pgfplotsset{compat=newest}
|
||||||
\pgfplotsset{plot coordinates/math parser=false}
|
\pgfplotsset{plot coordinates/math parser=false}
|
||||||
#+end_src
|
|
||||||
|
|
||||||
* Setup size of figures
|
|
||||||
#+begin_src latex
|
|
||||||
\newlength{\fheight}
|
|
||||||
\newlength{\fwidth}
|
|
||||||
|
|
||||||
\setlength{\fwidth}{85mm}
|
|
||||||
\setlength{\fheight}{112mm}
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Setup Arrows style
|
* Setup Arrows style
|
||||||
|
BIN
tikz/figs-tikz/nass_concept_schematic.pdf
Normal file
BIN
tikz/figs-tikz/nass_concept_schematic.svg
Normal file
After Width: | Height: | Size: 104 KiB |
BIN
tikz/figs-tikz/nass_simscape_no_sample.png
Normal file
After Width: | Height: | Size: 216 KiB |
BIN
tikz/figs-tikz/simscape_nass.png
Normal file
After Width: | Height: | Size: 155 KiB |
310
tikz/figures.org
@ -114,160 +114,170 @@
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
[[file:figs/nass_mechatronics_approach.png]]
|
[[file:figs/nass_mechatronics_approach.png]]
|
||||||
|
|
||||||
* Schematic Representation - NASS
|
* HAC-LAC Representation (two columns)
|
||||||
#+begin_src latex :file nass_concept_schematic.pdf
|
#+begin_src latex :file nass_hac_lac_block_diagram.pdf
|
||||||
\begin{tikzpicture}
|
\graphicspath{ {/home/thomas/Cloud/thesis/papers/dehaeze21_mechatronics_approach_nass/tikz/figs-tikz} }
|
||||||
% Parameters
|
|
||||||
\def\blockw{6.0cm}
|
|
||||||
\def\blockh{1.2cm}
|
|
||||||
|
|
||||||
% Translation Stage
|
\begin{tikzpicture}
|
||||||
\begin{scope}
|
\node[inner sep=3pt, fill=white, draw] (plant) at (0, 0)
|
||||||
% Translation Stage - fixed part
|
{\includegraphics[width=4.5cm]{nass_concept_schematic.pdf}};
|
||||||
\draw[fill=black!40] (-0.5*\blockw, 0) coordinate[](tyb) rectangle (0.5*\blockw, 0.15*\blockh);
|
|
||||||
\coordinate[] (measposbot) at (0.5*\blockw, 0);
|
|
||||||
|
|
||||||
% Tilt
|
\coordinate[] (outputf) at ($(plant.south east)!0.75!(plant.north east)$);
|
||||||
\path[] ([shift=(-120:4*\blockh)]0, 4.9*\blockh) coordinate(beginarc) arc (-120:-110:4*\blockh) %
|
\coordinate[] (outputx) at ($(plant.south east)!0.25!(plant.north east)$);
|
||||||
-- ([shift=(-70:4*\blockh)]0, 4.9*\blockh) arc (-70:-60:4*\blockh)%
|
|
||||||
|- ++(-0.15*\blockw, 0.6*\blockh) coordinate (spindlene)%
|
|
||||||
|- ($(beginarc) + (0.15*\blockw, 0.2*\blockh)$) coordinate (spindlesw) -- ++(0, 0.4*\blockh) coordinate(tiltte) -| cycle;
|
|
||||||
|
|
||||||
% Spindle
|
\node[block, left=0.6 of plant] (amp) {Amplifier};
|
||||||
\coordinate[] (spindlese) at (spindlesw-|spindlene);
|
\node[DAC, left=0.6 of amp] (dac) {DAC};
|
||||||
\draw[fill=black!30] ($(spindlese)+(-0.1,0.1)+(-0.1*\blockw, 0)$) -| ($(spindlene)+(-0.1, 0)$) -| coordinate[pos=0.25](spindletop) ($(spindlesw)+(0.1,0.1)$) -| ++(0.1*\blockw, -\blockh) -| coordinate[pos=0.25](spindlebot) cycle;
|
\node[ADC] (adc) at ($(plant.north-|dac) + (0, 0.2)$) {ADC};
|
||||||
|
\node[addb, left=0.6 of dac] (addu) {};
|
||||||
|
\node[block, above=0.4 of addu] (Kiff) {$\bm{K}_{\mathcal{L}}$};
|
||||||
|
\node[block, left=0.6 of addu] (Kl) {$\bm{K}_{\mathcal{X}}$};
|
||||||
|
\node[block, left=0.6 of Kl] (J) {$\bm{J}$};
|
||||||
|
\node[block, left=0.6 of J] (pos_error) {Pos. Err.};
|
||||||
|
|
||||||
\draw[dashed, color=black!60] ($(spindletop)+(0, 0.2)$) -- ($(spindlebot)+(0,-0.2)$);
|
\draw[->] (outputf) -- ++(0.2, 0)node[branch]{} |- (adc.east);
|
||||||
|
\draw[->] (outputf) --node[midway, below]{$\bm{\tau}_m$} ++(0.8, 0);
|
||||||
|
|
||||||
|
\draw[->] (outputx) -- ++(0.2, 0)node[branch]{} |- ($(plant.south)+(0, -0.2)$) -| (pos_error.south);
|
||||||
|
\draw[->] (outputx) --node[midway, above]{$\bm{\mathcal{X}}_m$} ++(0.8, 0);
|
||||||
|
|
||||||
% Tilt
|
\draw[->] (pos_error.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{X}}$} (J.west);
|
||||||
\draw[fill=black!60] ([shift=(-120:4*\blockh)]0, 4.9*\blockh) coordinate(beginarc) arc (-120:-110:4*\blockh) %
|
\draw[->] (J.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{L}}$} (Kl.west);
|
||||||
-- ([shift=(-70:4*\blockh)]0, 4.9*\blockh) arc (-70:-60:4*\blockh)%
|
\draw[->] (Kl.east) -- node[midway, above]{$\bm{u}^\prime$} (addu.west);
|
||||||
|- ++(-0.15*\blockw, 0.6*\blockh) coordinate (spindlene)%
|
\draw[->] (addu.east) -- node[midway, above]{$\bm{u}$} (dac.west);
|
||||||
|- ($(beginarc) + (0.15*\blockw, 0.2*\blockh)$) coordinate (spindlesw) -- ++(0, 0.4*\blockh) -| cycle;
|
\draw[->] (dac.east) -- (amp.west);
|
||||||
|
\draw[->] (amp.east) -- (plant.west);
|
||||||
% Translation Stage - mobile part
|
\draw[->] (adc.west) -| (Kiff.north);
|
||||||
\draw[fill=black!10, fill opacity=0.5] (-0.5*\blockw, 0.2*\blockh) -- (-0.5*\blockw, 1.5*\blockh) coordinate[](tyt) -- (0.5*\blockw, 1.5*\blockh) -- (0.5*\blockw, 0.2*\blockh) -- (0.35*\blockw, 0.2*\blockh) -- (0.35*\blockw, 0.8*\blockh) -- (-0.35*\blockw, 0.8*\blockh) -- (-0.35*\blockw, 0.2*\blockh) -- cycle;
|
\draw[->] (Kiff.south) -- (addu.north);
|
||||||
|
\draw[<-] (pos_error.west) -- node[midway, above]{$\bm{r}_\mu$} ++(-0.8, 0);
|
||||||
% Translation Guidance
|
\end{tikzpicture}
|
||||||
\draw[dashed, color=black!60] ($(-0.5*\blockw, 0)+( 0.075*\blockw,0.5*\blockh)$) circle (0.2*\blockh);
|
|
||||||
\draw[dashed, color=black!60] ($( 0.5*\blockw, 0)+(-0.075*\blockw,0.5*\blockh)$) circle (0.2*\blockh);
|
|
||||||
|
|
||||||
% Tilt Guidance
|
|
||||||
\draw[dashed, color=black!60] ([shift=(-110:4*\blockh)]0, 4.8*\blockh) arc (-110:-120:4*\blockh);
|
|
||||||
\draw[dashed, color=black!60] ([shift=( -70:4*\blockh)]0, 4.8*\blockh) arc (-70:-60:4*\blockh);
|
|
||||||
\end{scope}
|
|
||||||
|
|
||||||
% Micro-Hexapod
|
|
||||||
\begin{scope}[shift={(spindletop)}]
|
|
||||||
% Parameters definitions
|
|
||||||
\def\baseh{0.2*\blockh} % Height of the base
|
|
||||||
\def\naceh{0.2*\blockh} % Height of the nacelle
|
|
||||||
\def\baser{0.22*\blockw} % Radius of the base
|
|
||||||
\def\nacer{0.18*\blockw} % Radius of the nacelle
|
|
||||||
|
|
||||||
\def\armr{0.2*\blockh} % Radius of the arms
|
|
||||||
\def\basearmborder{0.2}
|
|
||||||
\def\nacearmborder{0.2}
|
|
||||||
|
|
||||||
\def\xnace{0} \def\ynace{\blockh-\naceh} \def\anace{0}
|
|
||||||
\def\xbase{0} \def\ybase{0} \def\abase{0}
|
|
||||||
|
|
||||||
% Hexapod1
|
|
||||||
\begin{scope}[shift={(\xbase, \ybase)}, rotate=\abase]
|
|
||||||
% Base
|
|
||||||
\draw[fill=white] (-\baser, 0) coordinate[](uhexabot) rectangle (\baser, \baseh);
|
|
||||||
|
|
||||||
\coordinate[] (armbasel) at (-\baser+\basearmborder+\armr, \baseh);
|
|
||||||
\coordinate[] (armbasec) at (0, \baseh);
|
|
||||||
\coordinate[] (armbaser) at (\baser-\basearmborder-\armr, \baseh);
|
|
||||||
|
|
||||||
% Nacelle1
|
|
||||||
\begin{scope}[shift={(\xnace, \ynace)}, rotate=\anace]
|
|
||||||
\draw[fill=white] (-\nacer, 0) rectangle (\nacer, \naceh);
|
|
||||||
\coordinate[] (uhexatop) at (0, \naceh);
|
|
||||||
\coordinate[] (armnacel) at (-\nacer+\nacearmborder+\armr, 0);
|
|
||||||
\coordinate[] (armnacec) at (0, 0);
|
|
||||||
\coordinate[] (armnacer) at (\nacer-\nacearmborder-\armr, 0);
|
|
||||||
\end{scope}
|
|
||||||
% Nacelle1 END
|
|
||||||
|
|
||||||
\draw[] (armbasec) -- (armnacer);
|
|
||||||
\draw[] (armbasec) -- (armnacel);
|
|
||||||
\draw[] (armbasel) -- (armnacel);
|
|
||||||
\draw[] (armbasel) -- (armnacec);
|
|
||||||
\draw[] (armbaser) -- (armnacec);
|
|
||||||
\draw[] (armbaser) -- (armnacer);
|
|
||||||
\end{scope}
|
|
||||||
\end{scope}
|
|
||||||
|
|
||||||
% NASS
|
|
||||||
\begin{scope}[shift={(uhexatop)}]
|
|
||||||
% Parameters definitions
|
|
||||||
\def\baseh{0.1*\blockh} % Height of the base
|
|
||||||
\def\naceh{0.1*\blockh} % Height of the nacelle
|
|
||||||
\def\baser{0.16*\blockw} % Radius of the base
|
|
||||||
\def\nacer{0.14*\blockw} % Radius of the nacelle
|
|
||||||
|
|
||||||
\def\armr{0.1*\blockh} % Radius of the arms
|
|
||||||
\def\basearmborder{0.2}
|
|
||||||
\def\nacearmborder{0.2}
|
|
||||||
|
|
||||||
\def\xnace{0} \def\ynace{0.6*\blockh-\naceh} \def\anace{0}
|
|
||||||
\def\xbase{0} \def\ybase{0} \def\abase{0}
|
|
||||||
|
|
||||||
% Hexapod1
|
|
||||||
\begin{scope}[shift={(\xbase, \ybase)}, rotate=\abase]
|
|
||||||
% Base
|
|
||||||
\draw[fill=red!50!black] (-\baser, 0) coordinate[](nhexabot) rectangle (\baser, \baseh);
|
|
||||||
|
|
||||||
\coordinate[] (armbasel) at (-\baser+\basearmborder+\armr, \baseh);
|
|
||||||
\coordinate[] (armbasec) at (0, \baseh);
|
|
||||||
\coordinate[] (armbaser) at (\baser-\basearmborder-\armr, \baseh);
|
|
||||||
|
|
||||||
% Nacelle1
|
|
||||||
\begin{scope}[shift={(\xnace, \ynace)}, rotate=\anace]
|
|
||||||
\draw[fill=red!50!black] (-\nacer, 0) rectangle (\nacer, \naceh);
|
|
||||||
\coordinate[] (nhexatop) at (0, \naceh);
|
|
||||||
\coordinate[] (armnacel) at (-\nacer+\nacearmborder+\armr, 0);
|
|
||||||
\coordinate[] (armnacec) at (0, 0);
|
|
||||||
\coordinate[] (armnacer) at (\nacer-\nacearmborder-\armr, 0);
|
|
||||||
\coordinate[] (measpostop) at (\nacer, \naceh);
|
|
||||||
\end{scope}
|
|
||||||
% Nacelle1 END
|
|
||||||
|
|
||||||
\draw[color=red!50!black] (armbasec) -- (armnacer);
|
|
||||||
\draw[color=red!50!black] (armbasec) -- (armnacel);
|
|
||||||
\draw[color=red!50!black] (armbasel) -- (armnacel);
|
|
||||||
\draw[color=red!50!black] (armbasel) -- (armnacec);
|
|
||||||
\draw[color=red!50!black] (armbaser) -- (armnacec);
|
|
||||||
\draw[color=red!50!black] (armbaser) -- (armnacer);
|
|
||||||
|
|
||||||
% Force actuator
|
|
||||||
\coordinate[] (nassfbot) at (0.8*\baser, \baseh);
|
|
||||||
\coordinate[] (nassftop) at (armnacec-|nassfbot);
|
|
||||||
\end{scope}
|
|
||||||
\end{scope}
|
|
||||||
|
|
||||||
% Sample
|
|
||||||
\begin{scope}[shift={(nhexatop)}]
|
|
||||||
\draw[fill=white] (-0.1*\blockw, 0) coordinate[](samplebot) rectangle coordinate[pos=0.5](samplecenter) (0.1*\blockw, \blockh) coordinate[](sampletop);
|
|
||||||
\end{scope}
|
|
||||||
|
|
||||||
% Laser
|
|
||||||
\begin{scope}[shift={(samplecenter)}]
|
|
||||||
\draw[color=red, -<-=0.5] (samplecenter) node[circle, fill=red, inner sep=0pt, minimum size=3pt]{} -- node[midway, above, color=black]{X-ray} ($(samplecenter)+(0.5*\blockw,0)$);
|
|
||||||
\end{scope}
|
|
||||||
|
|
||||||
%% Measurement
|
|
||||||
\draw[dashed, color=black!50] (measposbot) -- ++(0.8,0) coordinate (measposbotend);
|
|
||||||
\draw[dashed, color=black!50] (measpostop) -- (measpostop-|measposbotend) coordinate (measpostopend);
|
|
||||||
\draw[<->, dashed] ($(measposbotend)+(-0.2, 0)$) -- node[midway, left](d){$d$} ($(measpostopend)+(-0.2, 0)$);
|
|
||||||
|
|
||||||
%% Control
|
|
||||||
\draw[<->, line width=0.5pt] (nassfbot) -- node[midway, right](F){$F$} (nassftop);
|
|
||||||
\node[draw, block={2.3em}{1.7em}, right=0.3 of F] (K){$K$};
|
|
||||||
\draw[->] (d.west) -| ($(K.east)+(0.5, 0)$) -- (K.east);
|
|
||||||
\draw[->] (K.west) -- (F.east);
|
|
||||||
\end{tikzpicture}
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:figs/nass_hac_lac_block_diagram.png]]
|
||||||
|
|
||||||
|
* HAC-LAC alternative (one column)
|
||||||
|
#+begin_src latex :file nass_hac_lac_block_diagram_without_elec.pdf
|
||||||
|
\graphicspath{ {/home/thomas/Cloud/thesis/papers/dehaeze21_mechatronics_approach_nass/tikz/figs-tikz} }
|
||||||
|
|
||||||
|
\begin{tikzpicture}
|
||||||
|
% Plant
|
||||||
|
\node[inner sep=3pt, fill=white, draw] (plant) at (0, 0)
|
||||||
|
{\includegraphics[width=4cm]{nass_concept_schematic.pdf}};
|
||||||
|
|
||||||
|
% Plant outputs
|
||||||
|
\coordinate[] (outputf) at ($(plant.south east)!0.8!(plant.north east)$);
|
||||||
|
\coordinate[] (outputx) at ($(plant.south east)!0.2!(plant.north east)$);
|
||||||
|
|
||||||
|
% Blocks
|
||||||
|
\node[addb, left=0.6 of plant] (addu) {};
|
||||||
|
\node[block, above=0.4 of addu] (Kiff) {$\bm{K}_{\text{\tiny IFF}}$};
|
||||||
|
\node[block, left=1.0 of addu] (Kl) {$\bm{K}_{\mathcal{L}}$};
|
||||||
|
\node[block, left=0.6 of Kl] (J) {$\bm{J}$};
|
||||||
|
\node[addb={+}{}{}{}{-}, left=0.6 of J] (pos_error) {};
|
||||||
|
|
||||||
|
% Lines
|
||||||
|
\draw[->] (outputf) -- ++(0.2, 0)node[below]{$\bm{\tau}$} |- ($(plant.north)+(0, 0.2)$) -| (Kiff.north);
|
||||||
|
\draw[->] (outputx) -- ++(0.6, 0)node[above]{$\bm{\mathcal{X}}$} |- ($(plant.south)+(0, -0.4)$) -| (pos_error.south);
|
||||||
|
\draw[->] (pos_error.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{X}}$} (J.west);
|
||||||
|
\draw[->] (J.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{L}}$} (Kl.west);
|
||||||
|
\draw[->] (Kl.east) -- node[near start, above]{$\bm{u}^\prime$} (addu.west);
|
||||||
|
\draw[->] (addu.east) -- node[midway, above]{$\bm{u}$} (plant.west);
|
||||||
|
\draw[->] (Kiff.south) -- (addu.north);
|
||||||
|
\draw[<-] (pos_error.west) -- node[midway, above]{$\bm{r}$} ++(-0.6, 0);
|
||||||
|
|
||||||
|
% Damped plant
|
||||||
|
\begin{scope}[on background layer]
|
||||||
|
\node[fit={(plant.south-|Kiff.west) ($(plant.north east)+(0.2cm,0.2cm)$)}, fill=black!10!white, draw, dashed, inner sep=0.2cm] (damped_plant) {};
|
||||||
|
\node[above right, align=left] at (damped_plant.south west) {\small Damped\\Plant};
|
||||||
|
\end{scope}
|
||||||
|
\end{tikzpicture}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:figs/nass_hac_lac_block_diagram_without_elec.png]]
|
||||||
|
|
||||||
|
* Mass Spring Damper Model
|
||||||
|
#+begin_src latex :file mass_spring_damper_hac_lac.pdf
|
||||||
|
\begin{tikzpicture}
|
||||||
|
% ====================
|
||||||
|
% Parameters
|
||||||
|
% ====================
|
||||||
|
\def\bracs{0.05} % Brace spacing vertically
|
||||||
|
\def\brach{-12pt} % Brace shift horizontaly
|
||||||
|
% ====================
|
||||||
|
|
||||||
|
% ====================
|
||||||
|
% Ground
|
||||||
|
% ====================
|
||||||
|
\draw (-0.9, 0) -- (0.9, 0);
|
||||||
|
\draw[dashed] (0.9, 0) -- ++(0.5, 0);
|
||||||
|
\draw[->] (1.3, 0) -- ++(0, 0.4) node[right]{$w$};
|
||||||
|
% ====================
|
||||||
|
|
||||||
|
% ====================
|
||||||
|
% Granite
|
||||||
|
\begin{scope}[shift={(0, 0)}]
|
||||||
|
\draw[fill=white] (-0.9, 1.2) rectangle (0.9, 2.0) node[pos=0.5]{$\scriptstyle\text{granite}$};
|
||||||
|
\draw[spring] (-0.7, 0) -- ++(0, 1.2);
|
||||||
|
\draw[damper] ( 0, 0) -- ++(0, 1.2);
|
||||||
|
|
||||||
|
\draw[dashed] ( 0.9, 2.0) -- ++(2.0, 0) coordinate(xg);
|
||||||
|
|
||||||
|
% \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] %
|
||||||
|
% (-0.9, \bracs) -- ++(0, 2.0) node[midway,rotate=90,anchor=south,yshift=10pt]{Granite};
|
||||||
|
\end{scope}
|
||||||
|
% ====================
|
||||||
|
|
||||||
|
% ====================
|
||||||
|
% Stages
|
||||||
|
\begin{scope}[shift={(0, 2.0)}]
|
||||||
|
\draw[fill=white] (-0.9, 1.2) rectangle (0.9, 2.0) node[pos=0.5]{$\scriptstyle\mu\text{-station}$};
|
||||||
|
\draw[spring] (-0.7, 0) -- ++(0, 1.2);
|
||||||
|
\draw[damper] ( 0, 0) -- ++(0, 1.2);
|
||||||
|
\draw[actuator] ( 0.7, 0) -- ++(0, 1.2) node[midway, right=0.1](ft){$f_t$};
|
||||||
|
|
||||||
|
% \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] %
|
||||||
|
% (-0.9, \bracs) -- ++(0, 2.0) node[midway,rotate=90,anchor=south,yshift=10pt]{$\mu\text{-station}$};
|
||||||
|
\end{scope}
|
||||||
|
% ====================
|
||||||
|
|
||||||
|
|
||||||
|
% ====================
|
||||||
|
% NASS
|
||||||
|
\begin{scope}[shift={(0, 4.0)}]
|
||||||
|
\draw[fill=white] (-0.9, 1.5) rectangle (0.9, 2.3) node[pos=0.5]{$\scriptstyle\nu\text{-hexapod}$};
|
||||||
|
\draw[dashed] (0.9, 2.3) -- ++(2.0, 0) coordinate(xnpos);
|
||||||
|
|
||||||
|
\draw[spring] (-0.7, 0) -- ++(0, 1.2) node[midway, left=0.1]{};
|
||||||
|
\draw[damper] ( 0, 0) -- ++(0, 1.2) node[midway, left=0.2]{};
|
||||||
|
\draw[actuator] ( 0.7, 0) -- ++(0, 1.2) coordinate[midway, below right=0.2 and 0.1](f);
|
||||||
|
|
||||||
|
\node[forcesensor={1.8}{0.3}] (fsensn) at (0, 1.2){};
|
||||||
|
|
||||||
|
% \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] %
|
||||||
|
% (-0.9, \bracs) -- ++(0, 2.2) node[midway,rotate=90,anchor=south,yshift=10pt]{$\nu\text{-hexapod}$};
|
||||||
|
\end{scope}
|
||||||
|
% ====================
|
||||||
|
|
||||||
|
% ====================
|
||||||
|
% Measured Displacement
|
||||||
|
\draw[<->, dashed] ($(xg)+(-0.1, 0)$) node[above left](d){$d$} -- ($(xnpos)+(-0.1, 0)$);
|
||||||
|
% ====================
|
||||||
|
|
||||||
|
% ====================
|
||||||
|
% IFF Control
|
||||||
|
\node[block={2em}{1.5em}, right=0.6 of fsensn] (iff) {$K_{\scriptscriptstyle IFF}$};
|
||||||
|
\node[addb] (ctrladd) at (f-|iff) {};
|
||||||
|
\node[block={2em}{1.5em}, below=0.6 of ctrladd] (ctrl) {$K_{X}$};
|
||||||
|
|
||||||
|
\draw[->] (fsensn.east) -- node[midway, above]{$\tau_m$} (iff.west);
|
||||||
|
\draw[->] (iff.south) -- (ctrladd.north);
|
||||||
|
\draw[->] (ctrladd.west) -- (f.east) node[above right]{$u$};
|
||||||
|
\draw[->] (d.west) -| (ctrl.south);
|
||||||
|
\draw[->] (ctrl.north) -- (ctrladd.south);
|
||||||
|
% ====================
|
||||||
|
\end{tikzpicture}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:figs/mass_spring_damper_hac_lac.png]]
|
||||||
|