diff --git a/config.tex b/config.tex index 8e56330..ed45159 100644 --- a/config.tex +++ b/config.tex @@ -1,37 +1,3 @@ -\usepackage[french,english]{babel} - -\usepackage{graphicx} -\graphicspath{{figs/}} - -\usepackage{subcaption} -\captionsetup{subrefformat=parens} - -\usepackage[ % - acronym, % Separate acronyms and glossary - toc, % appear in ToC - automake, % auto-use the makeglossaries command (requires shell-escape) - nonumberlist, % don't back reference pages - nogroupskip, % don't group by letter - nopostdot % don't add a dot at the end of each element -]{glossaries} - -\usepackage[stylemods=longextra]{glossaries-extra} - -\setabbreviationstyle[acronym]{long-short} -\setglossarystyle{long-name-desc} - -\usepackage[olditem,oldenum]{paralist} - -\RequirePackage{setspace} -\onehalfspacing - -\usepackage{booktabs} -\usepackage{multirow} -\usepackage{tabularx} - -\usepackage{floatrow} -\floatsetup[table]{font={footnotesize,sf},capposition=top} - \usepackage[binary-units=true]{siunitx} \sisetup{% @@ -48,6 +14,7 @@ \usepackage{amsmath} \usepackage{amsthm} +\usepackage{bm} \usepackage{dsfont} \let\originalleft\left @@ -55,151 +22,16 @@ \renewcommand{\left}{\mathopen{}\mathclose\bgroup\originalleft} \renewcommand{\right}{\aftergroup\egroup\originalright} -\clubpenalty = 10000 -\widowpenalty = 10000 -\displaywidowpenalty = 10000 +\usepackage[ % + acronym, % Separate acronyms and glossary + toc, % appear in ToC + automake, % auto-use the makeglossaries command (requires shell-escape) + nonumberlist, % don't back reference pages + nogroupskip, % don't group by letter + nopostdot % don't add a dot at the end of each element +]{glossaries} -\usepackage{scrlayer-scrpage} +\usepackage[stylemods=longextra]{glossaries-extra} -\pagestyle{scrheadings} - -\renewcommand{\partformat}{\huge\partname~\thepart\autodot} -\renewcommand{\raggedpart}{\flushleft} - -\setkomafont{part}{\normalfont\huge\scshape} - -\setkomafont{sectioning}{\normalfont\scshape} -\setkomafont{descriptionlabel}{\normalfont\bfseries} - -\setkomafont{caption}{\small} -\setkomafont{captionlabel}{\usekomafont{caption}} - -\setcounter{secnumdepth}{\subsubsectionnumdepth} - -\makeatletter -\renewcommand*{\chapterformat}{ \mbox{\chapappifchapterprefix{\nobreakspace}{\color{BrickRed}\fontsize{40}{45}\selectfont\thechapter}\autodot\enskip}} -% Section with color -% \renewcommand\@seccntformat[1]{\color{BrickRed} {\csname the#1\endcsname}\hspace{0.3em}} -\renewcommand\@seccntformat[1]{{\csname the#1\endcsname}\hspace{0.3em}} -\makeatother - -\renewcommand{\floatpagefraction}{.8}% - -\usepackage{etoolbox} - -\usepackage[ % - colorlinks=true, % - citecolor=BrickRed, % - linkcolor=BrickRed, % - urlcolor=BrickRed, % - unicode % - ]{hyperref} - -\usepackage{bookmark} - -\bookmarksetup{depth=2} - -\usepackage{xpatch} % Recommanded for biblatex -\usepackage[ % use biblatex for bibliography - backend=biber, % use biber backend (bibtex replacement) or bibtex - style=ieee, % bib style - hyperref=true, % activate hyperref support - backref=true, % activate backrefs - isbn=false, % don't show isbn tags - url=false, % don't show url tags - doi=false, % don't show doi tags - urldate=long, % display type for dates - maxnames=3, % - minnames=1, % - maxbibnames=5, % - minbibnames=3, % - maxcitenames=2, % - mincitenames=1 % - ]{biblatex} - -\defbibenvironment{mypubs} - {\list - {} - {\setlength{\leftmargin}{\bibhang}% - \setlength{\itemindent}{-\leftmargin}% - \setlength{\itemsep}{\bibitemsep}% - \setlength{\parsep}{\bibparsep}}} - {\endlist} - {\item} - -\AtEveryBibitem{% - \clearfield{urlyear} - \clearfield{urlmonth} - \clearfield{note} - \clearfield{issn} % Remove issn - \clearfield{doi} % Remove doi -\ifentrytype{online}{}{% Remove url except for @online - \clearfield{url} -} -} - -\setlength\bibitemsep{1.1\itemsep} - -\renewcommand*{\bibfont}{\footnotesize} - -\usepackage{minitoc} -% Change section font -\renewcommand{\mtcSfont}{\small} -% Change indentation -\setlength{\mtcindent}{0pt} -% \usepackage[nottoc]{tocbibind} - -\ifxetexorluatex - \usepackage{unicode-math} - \setmainfont{EB Garamond} - \setmathfont{Garamond Math} - - % Load some missing symbols from another font. - \setmathfont{STIX Two Math}[% - range = { - \sharp, - \natural, - \flat, - \clubsuit, - \spadesuit, - \checkmark - } - ] - \setmonofont[Scale=MatchLowercase]{Source Code Pro} -\else - \usepackage[lf]{ebgaramond} % https://tug.org/FontCatalogue/quattrocento/ - \usepackage[oldstyle,scale=0.7]{sourcecodepro} % https://tug.org/FontCatalogue/sourcecodepro/ - \singlespacing -\fi - -\usepackage[usenames,dvipsnames]{xcolor} - -\usepackage{csquotes} - -\def\signed #1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip1em - \hbox{}\nobreak\hfill #1% - \parfillskip=0pt \finalhyphendemerits=0 \endgraf}} - -\newsavebox\mybox -\newenvironment{aquote}[1] -{\savebox\mybox{#1}\begin{quote}\openautoquote\hspace*{-.7ex}} - {\unskip\closeautoquote\vspace*{1mm}\signed{\usebox\mybox}\end{quote}} - -\usepackage{setspace} -\setstretch{1.25} - -\setparsizes{0em}{0.1\baselineskip plus .1\baselineskip}{1em plus 1fil} - -\numberwithin{equation}{chapter} - -\usepackage{listings} -\usepackage{minted} -\setminted{autogobble=true,fontsize=\small,baselinestretch=0.8} -\setminted[python]{python3=true,tabsize=4} -\usemintedstyle{trac} -\lstset{abovecaptionskip=0} -\renewcommand{\listingscaption}{Code Snippet} - -\AtEndEnvironment{listing}{\vspace{-16pt}} - -\usepackage{scrhack} +\setabbreviationstyle[acronym]{long-short} +\setglossarystyle{long-name-desc} diff --git a/config_extra.tex b/config_extra.tex index a13771b..10b7637 100644 --- a/config_extra.tex +++ b/config_extra.tex @@ -1,2 +1,211 @@ +\usepackage[french,english]{babel} + +\usepackage{graphicx} +\graphicspath{{figs/}} + +\usepackage{caption} +\usepackage{subcaption} +\captionsetup{subrefformat=parens} + +\captionsetup[figure]{labelfont=bf} +\captionsetup[subfigure]{labelfont=bf} +\captionsetup[listing]{labelfont=bf} +\captionsetup[table]{labelfont=bf} + +\usepackage[olditem,oldenum]{paralist} + +\RequirePackage{setspace} +\onehalfspacing + +\usepackage{booktabs} +\usepackage{multirow} +\usepackage{tabularx} + +\usepackage{floatrow} +\floatsetup[table]{font={footnotesize,sf},capposition=top} + +\clubpenalty = 10000 +\widowpenalty = 10000 +\displaywidowpenalty = 10000 + +\usepackage{scrlayer-scrpage} + +\pagestyle{scrheadings} + +\renewcommand{\partformat}{\huge\partname~\thepart\autodot} +\renewcommand{\raggedpart}{\flushleft} + +\setkomafont{part}{\normalfont\huge\scshape} + +\setkomafont{sectioning}{\normalfont\scshape} +\setkomafont{descriptionlabel}{\normalfont\bfseries} + +\setkomafont{caption}{\small} +\setkomafont{captionlabel}{\usekomafont{caption}} + +\setcounter{secnumdepth}{\subsubsectionnumdepth} + +\makeatletter +\renewcommand*{\chapterformat}{ \mbox{\chapappifchapterprefix{\nobreakspace}{\color{BrickRed}\fontsize{40}{45}\selectfont\thechapter}\autodot\enskip}} +% Section with color +% \renewcommand\@seccntformat[1]{\color{BrickRed} {\csname the#1\endcsname}\hspace{0.3em}} +\renewcommand\@seccntformat[1]{{\csname the#1\endcsname}\hspace{0.3em}} +\makeatother + +\renewcommand{\floatpagefraction}{.8}% + +\usepackage{etoolbox} + +\pretocmd{\section}{\clearpage}{}{} + +\usepackage[ % + colorlinks=true, % + citecolor=BrickRed, % + linkcolor=BrickRed, % + urlcolor=BrickRed, % + unicode % + ]{hyperref} + +\usepackage{hypcap} + +\usepackage{bookmark} + +\bookmarksetup{depth=2} + +\makeatletter +\preto\Gin@extensions{png,} +\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf} +\preto\Gin@extensions{gif,} +\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png} +\makeatother + +\usepackage{xpatch} % Recommanded for biblatex +\usepackage[ % use biblatex for bibliography + backend=biber, % use biber backend (bibtex replacement) or bibtex + style=ieee, % bib style + hyperref=true, % activate hyperref support + backref=true, % activate backrefs + isbn=false, % don't show isbn tags + url=false, % don't show url tags + doi=false, % don't show doi tags + urldate=long, % display type for dates + maxnames=3, % + minnames=1, % + maxbibnames=5, % + minbibnames=3, % + maxcitenames=2, % + mincitenames=1 % + ]{biblatex} + +\defbibenvironment{mypubs} + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\AtEveryBibitem{% + \clearfield{urlyear} + \clearfield{urlmonth} + \clearfield{note} + \clearfield{issn} % Remove issn + \clearfield{doi} % Remove doi +\ifentrytype{online}{}{% Remove url except for @online + \clearfield{url} +} +} + +\setlength\bibitemsep{1.1\itemsep} + +\renewcommand*{\bibfont}{\footnotesize} + +\usepackage{minitoc} +% Change section font +\renewcommand{\mtcSfont}{\small} +% Change indentation +\setlength{\mtcindent}{0pt} +% \usepackage[nottoc]{tocbibind} + +\ifxetexorluatex + % \usepackage{unicode-math} % It seems I don't need that as I don't want to use unicode char + \usepackage{fontspec} + \setmainfont{EB Garamond} + % \setmathfont{Garamond Math} + + % % Load some missing symbols from another font. + % \setmathfont{STIX Two Math}[% + % range = { + % \sharp, + % \natural, + % \flat, + % \clubsuit, + % \spadesuit, + % \checkmark + % } + % ] + % \setmonofont[Scale=MatchLowercase]{Source Code Pro} +\else + % \usepackage[lf]{ebgaramond} % https://tug.org/FontCatalogue/quattrocento/ + \usepackage[oldstyle,scale=0.7]{sourcecodepro} % https://tug.org/FontCatalogue/sourcecodepro/ + \singlespacing +\fi + +\usepackage[usenames,dvipsnames]{xcolor} + +\definecolor{my-blue}{HTML}{6b7adb} +\definecolor{my-pale-blue}{HTML}{e6e9f9} +\definecolor{my-red}{HTML}{db6b6b} +\definecolor{my-pale-red}{HTML}{f9e6e6} +\definecolor{my-green}{HTML}{6bdbb6} +\definecolor{my-pale-green}{HTML}{e6f9f3} +\definecolor{my-yellow}{HTML}{dbd26b} +\definecolor{my-pale-yellow}{HTML}{f9f7e6} +\definecolor{my-orange}{HTML}{dba76b} +\definecolor{my-pale-orange}{HTML}{f9f0e6} +\definecolor{my-grey}{HTML}{a3a3a3} +\definecolor{my-pale-grey}{HTML}{f0f0f0} +\definecolor{my-turq}{HTML}{6bc7db} +\definecolor{my-pale-turq}{HTML}{e6f6f9} + +\usepackage{csquotes} + +\def\signed #1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip1em + \hbox{}\nobreak\hfill #1% + \parfillskip=0pt \finalhyphendemerits=0 \endgraf}} + +\newsavebox\mybox +\newenvironment{aquote}[1] +{\savebox\mybox{#1}\begin{quote}\openautoquote\hspace*{-.7ex}} + {\unskip\closeautoquote\vspace*{1mm}\signed{\usebox\mybox}\end{quote}} + +\usepackage{setspace} +\setstretch{1.25} + +\setparsizes{0em}{0.1\baselineskip plus .1\baselineskip}{1em plus 1fil} + +\numberwithin{equation}{chapter} + +\usepackage{listings} +\usepackage{minted} +\setminted{autogobble=true,fontsize=\small,baselinestretch=0.8} +\setminted[python]{python3=true,tabsize=4} +\usemintedstyle{trac} +\lstset{abovecaptionskip=0} +\renewcommand{\listingscaption}{Code Snippet} + +\AtEndEnvironment{listing}{\vspace{-16pt}} + +\usepackage{scrhack} + +\usepackage{float} +\usepackage{enumitem} + +% highlight +\usepackage{soul} +\sethlcolor{my-pale-grey} + \makeindex \makeglossaries diff --git a/figs/2dof_rotating_system.pdf b/figs/2dof_rotating_system.pdf deleted file mode 100644 index d6bd2ad..0000000 Binary files a/figs/2dof_rotating_system.pdf and /dev/null differ diff --git a/figs/2dof_rotating_system.png b/figs/2dof_rotating_system.png deleted file mode 100644 index 63ee834..0000000 Binary files a/figs/2dof_rotating_system.png and /dev/null differ diff --git a/figs/2dof_rotating_system.svg b/figs/2dof_rotating_system.svg deleted file mode 100644 index 4288324..0000000 --- a/figs/2dof_rotating_system.svg +++ /dev/null @@ -1,324 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/figs/IMG_20181106_142851.jpg b/figs/IMG_20181106_142851.jpg deleted file mode 100644 index e53abd7..0000000 Binary files a/figs/IMG_20181106_142851.jpg and /dev/null differ diff --git a/figs/esrf_picture.jpg b/figs/esrf_picture.jpg deleted file mode 100644 index 55f2245..0000000 Binary files a/figs/esrf_picture.jpg and /dev/null differ diff --git a/figs/exp_setup_photo.png b/figs/exp_setup_photo.png deleted file mode 100644 index 9fedd72..0000000 Binary files a/figs/exp_setup_photo.png and /dev/null differ diff --git a/figs/general_control_names.pdf b/figs/general_control_names.pdf deleted file mode 100644 index 6575fed..0000000 Binary files a/figs/general_control_names.pdf and /dev/null differ diff --git a/figs/general_control_names.png b/figs/general_control_names.png deleted file mode 100644 index 4a47c1b..0000000 Binary files a/figs/general_control_names.png and /dev/null differ diff --git a/figs/general_control_names.svg b/figs/general_control_names.svg deleted file mode 100644 index cd7eab5..0000000 --- a/figs/general_control_names.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/figs/id31_beamline_schematic.pdf b/figs/id31_beamline_schematic.pdf deleted file mode 100644 index 7bf47af..0000000 Binary files a/figs/id31_beamline_schematic.pdf and /dev/null differ diff --git a/figs/id31_beamline_schematic.png b/figs/id31_beamline_schematic.png deleted file mode 100644 index 45d9f17..0000000 Binary files a/figs/id31_beamline_schematic.png and /dev/null differ diff --git a/figs/id31_beamline_schematic.svg b/figs/id31_beamline_schematic.svg deleted file mode 100644 index d8c3ced..0000000 --- a/figs/id31_beamline_schematic.svg +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/figs/id31_microstation_cad_view.pdf b/figs/id31_microstation_cad_view.pdf deleted file mode 100644 index f2e715a..0000000 Binary files a/figs/id31_microstation_cad_view.pdf and /dev/null differ diff --git a/figs/id31_microstation_cad_view.png b/figs/id31_microstation_cad_view.png deleted file mode 100644 index d930cca..0000000 Binary files a/figs/id31_microstation_cad_view.png and /dev/null differ diff --git a/figs/id31_microstation_picture.pdf b/figs/id31_microstation_picture.pdf deleted file mode 100644 index d68d1ea..0000000 Binary files a/figs/id31_microstation_picture.pdf and /dev/null differ diff --git a/figs/id31_microstation_picture.png b/figs/id31_microstation_picture.png deleted file mode 100644 index 0314f4e..0000000 Binary files a/figs/id31_microstation_picture.png and /dev/null differ diff --git a/figs/id31_microstation_picture.svg b/figs/id31_microstation_picture.svg deleted file mode 100644 index a47fa81..0000000 --- a/figs/id31_microstation_picture.svg +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/figs/mass_spring_damper_nass.pdf b/figs/mass_spring_damper_nass.pdf deleted file mode 100644 index a32721b..0000000 Binary files a/figs/mass_spring_damper_nass.pdf and /dev/null differ diff --git a/figs/mass_spring_damper_nass.png b/figs/mass_spring_damper_nass.png deleted file mode 100644 index ece8c4b..0000000 Binary files a/figs/mass_spring_damper_nass.png and /dev/null differ diff --git a/figs/mass_spring_damper_nass.svg b/figs/mass_spring_damper_nass.svg deleted file mode 100644 index 1a62d4c..0000000 --- a/figs/mass_spring_damper_nass.svg +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/figs/matlab_fig_example.pdf b/figs/matlab_fig_example.pdf deleted file mode 100644 index cfd903f..0000000 Binary files a/figs/matlab_fig_example.pdf and /dev/null differ diff --git a/figs/matlab_fig_example.png b/figs/matlab_fig_example.png deleted file mode 100644 index fac7ff6..0000000 Binary files a/figs/matlab_fig_example.png and /dev/null differ diff --git a/figs/matlab_logo.pdf b/figs/matlab_logo.pdf deleted file mode 100644 index 5e022e5..0000000 Binary files a/figs/matlab_logo.pdf and /dev/null differ diff --git a/figs/matlab_logo.png b/figs/matlab_logo.png deleted file mode 100644 index 99a2b18..0000000 Binary files a/figs/matlab_logo.png and /dev/null differ diff --git a/figs/measurement_microstation_vibration_picture.jpg b/figs/measurement_microstation_vibration_picture.jpg deleted file mode 100644 index 8c769b2..0000000 Binary files a/figs/measurement_microstation_vibration_picture.jpg and /dev/null differ diff --git a/figs/nass_concept_schematic.pdf b/figs/nass_concept_schematic.pdf deleted file mode 100644 index 76444a8..0000000 Binary files a/figs/nass_concept_schematic.pdf and /dev/null differ diff --git a/figs/nass_concept_schematic.png b/figs/nass_concept_schematic.png deleted file mode 100644 index 60cdea9..0000000 Binary files a/figs/nass_concept_schematic.png and /dev/null differ diff --git a/figs/nass_concept_schematic.svg b/figs/nass_concept_schematic.svg deleted file mode 100644 index 5d63d17..0000000 --- a/figs/nass_concept_schematic.svg +++ /dev/null @@ -1,1440 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X-ray - - - - - - - - - 3 - - 2 - - 4 - - 1 - - diff --git a/figs/nass_mechatronics_approach.pdf b/figs/nass_mechatronics_approach.pdf deleted file mode 100644 index dd299cd..0000000 Binary files a/figs/nass_mechatronics_approach.pdf and /dev/null differ diff --git a/figs/nass_mechatronics_approach.png b/figs/nass_mechatronics_approach.png deleted file mode 100644 index 4b48dae..0000000 Binary files a/figs/nass_mechatronics_approach.png and /dev/null differ diff --git a/figs/nass_mechatronics_approach.svg b/figs/nass_mechatronics_approach.svg deleted file mode 100644 index 1e59f2d..0000000 --- a/figs/nass_mechatronics_approach.svg +++ /dev/null @@ -1,2097 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/figs/root_locus_iff_rot_stiffness.pdf b/figs/root_locus_iff_rot_stiffness.pdf deleted file mode 100644 index 7b33cc6..0000000 Binary files a/figs/root_locus_iff_rot_stiffness.pdf and /dev/null differ diff --git a/figs/root_locus_iff_rot_stiffness.png b/figs/root_locus_iff_rot_stiffness.png deleted file mode 100644 index 15140e8..0000000 Binary files a/figs/root_locus_iff_rot_stiffness.png and /dev/null differ diff --git a/figs/simscape_first_model_screenshot.jpg b/figs/simscape_first_model_screenshot.jpg deleted file mode 100644 index 6614aa2..0000000 Binary files a/figs/simscape_first_model_screenshot.jpg and /dev/null differ diff --git a/figs/simscape_nano_hexapod.pdf b/figs/simscape_nano_hexapod.pdf deleted file mode 100644 index 8ca9a5f..0000000 Binary files a/figs/simscape_nano_hexapod.pdf and /dev/null differ diff --git a/figs/simscape_nano_hexapod.png b/figs/simscape_nano_hexapod.png deleted file mode 100644 index 8f556b1..0000000 Binary files a/figs/simscape_nano_hexapod.png and /dev/null differ diff --git a/figs/simscape_nass_final.pdf b/figs/simscape_nass_final.pdf deleted file mode 100644 index 29cf55e..0000000 Binary files a/figs/simscape_nass_final.pdf and /dev/null differ diff --git a/figs/simscape_nass_final.png b/figs/simscape_nass_final.png deleted file mode 100644 index 3e0a330..0000000 Binary files a/figs/simscape_nass_final.png and /dev/null differ diff --git a/figs/stewart_architecture_example.pdf b/figs/stewart_architecture_example.pdf deleted file mode 100644 index ab3e103..0000000 Binary files a/figs/stewart_architecture_example.pdf and /dev/null differ diff --git a/figs/stewart_architecture_example.png b/figs/stewart_architecture_example.png deleted file mode 100644 index 1d81f4d..0000000 Binary files a/figs/stewart_architecture_example.png and /dev/null differ diff --git a/figs/stewart_architecture_example_pose.pdf b/figs/stewart_architecture_example_pose.pdf deleted file mode 100644 index 2173ca7..0000000 Binary files a/figs/stewart_architecture_example_pose.pdf and /dev/null differ diff --git a/figs/stewart_architecture_example_pose.png b/figs/stewart_architecture_example_pose.png deleted file mode 100644 index cf238a9..0000000 Binary files a/figs/stewart_architecture_example_pose.png and /dev/null differ diff --git a/phd-thesis.bib b/phd-thesis.bib index 528be07..5c1363c 100644 --- a/phd-thesis.bib +++ b/phd-thesis.bib @@ -1,54 +1,102 @@ -@phdthesis{li01_simul_fault_vibrat_isolat_point, - author = {Li, Xiaochun}, - keywords = {parallel robot}, - school = {University of Wyoming}, - title = {Simultaneous, Fault-tolerant Vibration Isolation and - Pointing Control of Flexure Jointed Hexapods}, - year = 2001, +@article{collette12_review, + author = {C. Collette and S. Janssens and P. Fernandez-Carmona and K. + Artoos and M. Guinchard and C. Hauviller and A. Preumont}, + title = {Review: Inertial Sensors for Low-Frequency Seismic + Vibration Measurement}, + journal = {Bulletin of the Seismological Society of America}, + volume = 102, + number = 4, + pages = {1289-1300}, + year = 2012, + doi = {10.1785/0120110223}, + url = {https://doi.org/10.1785/0120110223}, } -@phdthesis{bishop02_devel_precis_point_contr_vibrat, - author = {Bishop Jr, Ronald M}, - school = {Naval Postgraduate School, Monterey, California}, - title = {Development of Precision Pointing Controllers with and - without Vibration Suppression for the {NPS} Precision Pointing - Hexapod}, +@inproceedings{preumont91_activ, + author = {Andre Preumont and Jean-Paul Dufour and Christian Malekian}, + title = {Active damping by a local force feedback with piezoelectric + actuators}, + booktitle = {32nd Structures, Structural Dynamics, and Materials + Conference}, + year = 1991, + doi = {10.2514/6.1991-989}, + url = {https://doi.org/10.2514/6.1991-989}, + month = {apr}, + publisher = {American Institute of Aeronautics and Astronautics}, + keywords = {active damping}, +} + + + +@book{preumont18_vibrat_contr_activ_struc_fourt_edition, + author = {Andre Preumont}, + title = {Vibration Control of Active Structures - Fourth Edition}, + year = 2018, + publisher = {Springer International Publishing}, + url = {https://doi.org/10.1007/978-3-319-72296-2}, + doi = {10.1007/978-3-319-72296-2}, + keywords = {favorite, parallel robot}, + series = {Solid Mechanics and Its Applications}, +} + + + +@article{karnopp74_vibrat_contr_using_semi_activ_force_gener, + author = {Karnopp, Dean and Crosby, Michael J and Harwood, RA}, + title = {Vibration Control Using Semi-Active Force Generators}, + journal = {Journal of Engineering for Industry}, + volume = 96, + pages = {619-626}, + year = 1974, + doi = {10.1115/1.3438373}, + url = {https://doi.org/10.1115/1.3438373}, +} + + + +@article{serrand00_multic_feedb_contr_isolat_base_excit_vibrat, + author = {Serrand, M and Elliott, SJ}, + title = {Multichannel Feedback Control for the Isolation of + Base-Excited Vibration}, + journal = {Journal of Sound and Vibration}, + volume = 234, + number = 4, + pages = {681--704}, + year = 2000, + publisher = {Elsevier}, +} + + + +@article{preumont02_force_feedb_versus_accel_feedb, + author = {A. Preumont and A. Fran{\c{c}}ois and F. Bossens and A. + Abu-Hanieh}, + title = {Force Feedback Versus Acceleration Feedback in Active + Vibration Isolation}, + journal = {Journal of Sound and Vibration}, + volume = 257, + number = 4, + pages = {605-613}, year = 2002, - keywords = {parallel robot}, + doi = {10.1006/jsvi.2002.5047}, + url = {https://doi.org/10.1006/jsvi.2002.5047}, } -@phdthesis{hanieh03_activ_stewar, - author = {Hanieh, Ahmed Abu}, - keywords = {parallel robot}, - school = {Universit{\'e} Libre de Bruxelles, Brussels, Belgium}, - title = {Active isolation and damping of vibrations via Stewart - platform}, - year = 2003, -} - - - -@phdthesis{afzali-far16_vibrat_dynam_isotr_hexap_analy_studies, - author = {Afzali-Far, Behrouz}, - school = {Lund University}, - title = {Vibrations and Dynamic Isotropy in Hexapods-Analytical - Studies}, - year = 2016, - keywords = {parallel robot}, -} - - - -@phdthesis{naves20_desig, - author = {Mark Naves}, - school = {Univeristy of Twente}, - title = {Design and optimization of large stroke flexure mechanisms}, - year = 2020, - keywords = {flexure}, +@article{collette15_sensor_fusion_method_high_perfor, + author = {C. Collette and F. Matichard}, + title = {Sensor Fusion Methods for High Performance Active Vibration + Isolation Systems}, + journal = {Journal of Sound and Vibration}, + volume = 342, + pages = {1-21}, + year = 2015, + doi = {10.1016/j.jsv.2015.01.006}, + url = {https://doi.org/10.1016/j.jsv.2015.01.006}, + keywords = {complementary filters}, } @@ -64,26 +112,6 @@ -@phdthesis{monkhorst04_dynam_error_budget, - author = {Wouter Monkhorst}, - school = {Delft University}, - title = {Dynamic Error Budgeting, a design approach}, - year = 2004, -} - - - -@phdthesis{jabben07_mechat, - author = {Jabben, Leon}, - school = {Delft University}, - title = {Mechatronic design of a magnetically suspended rotating - platform}, - year = 2007, - keywords = {maglev}, -} - - - @inproceedings{dehaeze20_activ_dampin_rotat_platf_integ_force_feedb, author = {Dehaeze, T. and Collette, C.}, title = {Active Damping of Rotating Platforms using Integral Force @@ -109,33 +137,358 @@ -@inproceedings{brumund21_multib_simul_reduc_order_flexib_bodies_fea, - author = {Philipp Brumund and Thomas Dehaeze}, - title = {Multibody Simulations with Reduced Order Flexible Bodies - obtained by FEA}, - booktitle = {MEDSI'20}, - year = 2021, - language = {english}, - publisher = {JACoW Publishing}, - series = {Mechanical Engineering Design of Synchrotron Radiation - Equipment and Instrumentation}, - venue = {Chicago, USA}, - keywords = {nass, esrf}, +@article{collette11_review_activ_vibrat_isolat_strat, + author = {Christophe Collette and Stef Janssens and Kurt Artoos}, + title = {Review of Active Vibration Isolation Strategies}, + journal = {Recent Patents on Mechanical Engineeringe}, + volume = 4, + number = 3, + pages = {212-219}, + year = 2011, + doi = {10.2174/2212797611104030212}, + url = {https://doi.org/10.2174/2212797611104030212}, + keywords = {favorite}, } -@inproceedings{dehaeze21_mechat_approac_devel_nano_activ_stabil_system, - author = {Dehaeze, T. and Bonnefoy, J. and Collette, C.}, - title = {Mechatronics Approach for the Development of a - Nano-Active-Stabilization-System}, - booktitle = {MEDSI'20}, - year = 2021, - language = {english}, - publisher = {JACoW Publishing}, - series = {Mechanical Engineering Design of Synchrotron Radiation - Equipment and Instrumentation}, - venue = {Chicago, USA}, - keywords = {nass, esrf}, +@article{lin06_distur_atten_precis_hexap_point, + author = {Haomin Lin and John E. McInroy}, + title = {Disturbance Attenuation in Precise Hexapod Pointing Using + Positive Force Feedback}, + journal = {Control Engineering Practice}, + volume = 14, + number = 11, + pages = {1377-1386}, + year = 2006, + doi = {10.1016/j.conengprac.2005.10.002}, + url = {https://doi.org/10.1016/j.conengprac.2005.10.002}, + keywords = {parallel robot}, } + + +@article{fanson90_posit_posit_feedb_contr_large_space_struc, + author = {Fanson, JL and Caughey, T Kv}, + title = {Positive Position Feedback Control for Large Space + Structures}, + journal = {AIAA journal}, + volume = 28, + number = 4, + pages = {717--724}, + year = 1990, + keywords = {active damping}, +} + + + +@article{preumont08_trans_zeros_struc_contr_with, + author = {Preumont, Andr{\'e} and De Marneffe, Bruno and Krenk, + Steen}, + title = {Transmission Zeros in Structural Control With Collocated + Multi-Input/multi-Output Pairs}, + journal = {Journal of guidance, control, and dynamics}, + volume = 31, + number = 2, + pages = {428--432}, + year = 2008, +} + + + +@article{teo15_optim_integ_force_feedb_activ_vibrat_contr, + author = {Yik R. Teo and Andrew J. Fleming}, + title = {Optimal Integral Force Feedback for Active Vibration + Control}, + journal = {Journal of Sound and Vibration}, + volume = 356, + pages = {20--33}, + year = 2015, + doi = {10.1016/j.jsv.2015.06.046}, + url = {https://doi.org/10.1016/j.jsv.2015.06.046}, + month = {nov}, + publisher = {Elsevier {BV}}, + keywords = {iff}, +} + + + +@article{chesne16_enhan_dampin_flexib_struc_using_force_feedb, + author = {Simon Chesn{\'e} and Ariston Milhomem and Christophe + Collette}, + title = {Enhanced Damping of Flexible Structures Using Force + Feedback}, + journal = {Journal of Guidance, Control, and Dynamics}, + volume = 39, + number = 7, + pages = {1654-1658}, + year = 2016, + doi = {10.2514/1.g001620}, + url = {https://doi.org/10.2514/1.g001620}, + keywords = {active damping, integral force feedback}, +} + + + +@article{zhao19_optim_integ_force_feedb_contr, + author = {Zhao, Guoying and Paknejad, A and Deraemaeker, Arnaud and + Collette, Christophe}, + title = {$\mathcal{H}_\infty$ Optimization of an Integral Force + Feedback Controller}, + journal = {Journal of Vibration and Control}, + volume = 25, + number = 17, + pages = {2330--2339}, + year = 2019, + publisher = {SAGE Publications Sage UK: London, England}, + keywords = {iff}, +} + + + +@book{skogestad07_multiv_feedb_contr, + author = {Skogestad, Sigurd and Postlethwaite, Ian}, + title = {Multivariable Feedback Control: Analysis and Design - + Second Edition}, + year = 2007, + publisher = {John Wiley}, + isbn = 978-0470011683, + keywords = {favorite}, +} + + + +@phdthesis{marneffe07_activ_passiv_vibrat_isolat_dampin_shunt_trans, + author = {de Marneffe, Bruno}, + school = {Universit{\'e} Libre de Bruxelles, Brussels, Belgium}, + title = {Active and Passive Vibration Isolation and Damping via + Shunted Transducers}, + year = 2007, + keywords = {parallel robot}, +} + + + +@book{ewins00_modal, + author = {Ewins, DJ}, + title = {Modal testing: theory, practice and application}, + year = 2000, + publisher = {Wiley-Blackwell}, + address = {Baldock, Hertfordshire, England Philadelphia, PA}, + isbn = 0863802184, + journal = {Research studies Pre, 2nd ed., ISBN-13}, + keywords = {favorite, identification}, + pages = {978--0863802188}, +} + + + +@book{preumont94_random_vibrat_spect_analy, + author = {Andr{\'e} Preumont}, + title = {Random Vibration and Spectral Analysis}, + year = 1994, + publisher = {Springer Netherlands}, + url = {https://doi.org/10.1007/978-94-017-2840-9}, + doi = {10.1007/978-94-017-2840-9}, + series = {Solid Mechanics and Its Applications}, +} + + + +@article{wehrsdorfer95_large_signal_measur_piezoel_stack, + author = {Wehrsdorfer, E and Borchhardt, G and Karthe, W and Helke, + G}, + title = {Large Signal Measurements on Piezoelectric Stacks}, + journal = {Ferroelectrics}, + volume = 174, + number = 1, + pages = {259--275}, + year = 1995, + publisher = {Taylor \& Francis}, +} + + + + +@book{fleming14_desig_model_contr_nanop_system, + author = {Andrew J. Fleming and Kam K. Leang}, + title = {Design, Modeling and Control of Nanopositioning Systems}, + year = 2014, + publisher = {Springer International Publishing}, + url = {https://doi.org/10.1007/978-3-319-06617-2}, + doi = {10.1007/978-3-319-06617-2}, + series = {Advances in Industrial Control}, +} + + + +@book{reza06_piezoel_trans_vibrat_contr_dampin, + author = {Reza, Moheimani and Andrew, Fleming}, + title = {Piezoelectric Transducers for Vibration Control and + Damping}, + year = 2006, + publisher = {Springer}, + address = {London}, + isbn = 9781846283314, +} + + + +@inproceedings{spanos95_soft_activ_vibrat_isolat, + author = {J. Spanos and Z. Rahman and G. Blackwood}, + title = {A Soft 6-axis Active Vibration Isolator}, + booktitle = {Proceedings of 1995 American Control Conference - ACC'95}, + year = 1995, + doi = {10.1109/acc.1995.529280}, + url = {https://doi.org/10.1109/acc.1995.529280}, + keywords = {parallel robot}, +} + + + +@article{thayer02_six_axis_vibrat_isolat_system, + author = {Doug Thayer and Mark Campbell and Juris Vagners and Andrew + von Flotow}, + title = {Six-Axis Vibration Isolation System Using Soft Actuators + and Multiple Sensors}, + journal = {Journal of Spacecraft and Rockets}, + volume = 39, + number = 2, + pages = {206-212}, + year = 2002, + doi = {10.2514/2.3821}, + url = {https://doi.org/10.2514/2.3821}, + keywords = {parallel robot}, +} + + + +@article{hauge04_sensor_contr_space_based_six, + author = {G.S. Hauge and M.E. Campbell}, + title = {Sensors and Control of a Space-Based Six-Axis Vibration + Isolation System}, + journal = {Journal of Sound and Vibration}, + volume = 269, + number = {3-5}, + pages = {913-931}, + year = 2004, + doi = {10.1016/s0022-460x(03)00206-2}, + url = {https://doi.org/10.1016/s0022-460x(03)00206-2}, + keywords = {parallel robot, favorite}, +} + + + +@article{souleille18_concep_activ_mount_space_applic, + author = {Souleille, Adrien and Lampert, Thibault and Lafarga, V and + Hellegouarch, Sylvain and Rondineau, Alan and Rodrigues, + Gon{\c{c}}alo and Collette, Christophe}, + title = {A Concept of Active Mount for Space Applications}, + journal = {CEAS Space Journal}, + volume = 10, + number = 2, + pages = {157--165}, + year = 2018, + publisher = {Springer}, + keywords = {parallel robot, iff}, +} + + + +@article{fleming10_integ_strain_force_feedb_high, + author = {Fleming, Andrew J and Leang, Kam K}, + title = {Integrated Strain and Force Feedback for High-Performance + Control of Piezoelectric Actuators}, + journal = {Sensors and Actuators A: Physical}, + volume = 161, + number = {1-2}, + pages = {256--265}, + year = 2010, + publisher = {Elsevier}, + keywords = {flexure,nanostage}, +} + + + +@article{watchi18_review_compac_inter, + author = {Watchi, Jennifer and Cooper, Sam and Ding, Binlei and + Mow-Lowry, Conor M. and Collette, Christophe}, + title = {A Review of Compact Interferometers}, + journal = {CoRR}, + year = 2018, + url = {http://arxiv.org/abs/1808.04175v1}, + eprint = {1808.04175}, + keywords = {metrology}, +} + + + +@inproceedings{dehaeze22_fastj_uhv, + author = {Thomas Dehaeze and Ludovic Ducott{\'e}}, + title = {The Fastjack - A robust, UHV compatible and high + performance linear actuator}, + year = 2022, + organization = {EUSPEN}, +} + + +@book{taghirad13_paral, + author = {Taghirad, Hamid}, + title = {Parallel robots : mechanics and control}, + year = 2013, + publisher = {CRC Press}, + address = {Boca Raton, FL}, + isbn = 9781466555778, + keywords = {favorite, parallel robot}, +} + + + +@article{gustavsen99_ration_approx_frequen_domain_respon, + author = {Gustavsen, B.; Semlyen, A.}, + title = {Rational Approximation of Frequency Domain Responses By + Vector Fitting}, + journal = {IEEE Transactions on Power Delivery}, + volume = 14, + year = 1999, + doi = {10.1109/61.772353}, + url = {https://doi.org/10.1109/61.772353}, + issne = {1937-4208}, + issnp = {0885-8977}, + issue = 3, + month = 7, + page = {1052--1061}, + publisher = {IEEE}, + keywords = {Motors}, +} + + + +@article{janvier13_icepap, + author = {Janvier, N and Clement, JM and Fajardo, P and Cun{\'\i}, G}, + title = {Icepap: an Advanced Motor Controller for Scientific + Applications in Large User Facilities}, + journal = {TUPPC081, ICALEPCS2013, San Francisco}, + volume = 2016, + year = 2013, + keywords = {esrf}, +} + + + +@article{hino18_posit_encod_proces_unit, + author = {Ricardo Hino and Pablo Fajardo and Nicolas Janvier and + Thierry Le Ca{\"e}r and Fabien Le Mentec}, + title = {A Position Encoder Processing Unit}, + journal = {Proceedings of the 16th Int. Conf. on Accelerator and Large + Experimental Control Systems}, + volume = {ICALEPCS2017}, + number = {nil}, + pages = {Spain}, + year = 2018, + doi = {10.18429/JACOW-ICALEPCS2017-THPHA072}, + url = + {http://jacow.org/icalepcs2017/doi/JACoW-ICALEPCS2017-THPHA072.html}, +} + + diff --git a/phd-thesis.org b/phd-thesis.org index 8049e07..c3d93fb 100644 --- a/phd-thesis.org +++ b/phd-thesis.org @@ -10,16 +10,19 @@ #+DATE: {{{time(%Y-%m-%d)}}} #+LATEX_CLASS: scrreprt -#+LATEX_CLASS_OPTIONS: [a4paper, twoside, 11pt, onecolumn, bibliography=totoc, openright, appendixprefix=true] +#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc] +# #+LATEX_CLASS_OPTIONS: [a4paper, twoside, 11pt, onecolumn, bibliography=totoc, openright, appendixprefix=true] -#+OPTIONS: num:t toc:nil ':t *:t -:t ::t <:nil author:t date:t tags:nil todo:nil |:t H:4 title:nil +#+OPTIONS: num:t toc:nil ':t *:t -:t ::t <:nil author:t date:t tags:nil todo:nil |:t H:5 title:nil #+SELECT_TAGS: export #+EXCLUDE_TAGS: noexport #+BIND: org-latex-bib-compiler "biber" -#+TODO: TODO(t) MAKE(m) COPY(c) | DONE(d) +#+TODO: TODO(t) MAKE(m) REVIEW(r) COPY(c) | DONE(d) + +#+BIND: org-latex-image-default-width "" #+LATEX_HEADER: \input{config.tex} #+LATEX_HEADER_EXTRA: \input{config_extra.tex} @@ -48,6 +51,7 @@ ("\\chapter{%s}" . "\\chapter*{%s}") ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") + ("\\subsubsection{%s}" . "\\subsubsection*{%s}") ("\\paragraph{%s}" . "\\paragraph*{%s}") )) @@ -83,26 +87,54 @@ #+END_SRC * Useful snippets :noexport: + - acronyms acrshort:nass acrshort:mimo acrshort:lti [[acrfull:siso][Single-Input Single-Output (SISO)]] - glossary terms gls:ka, gls:phi. -- Footnote[fn:1] * Glossary and Acronyms - Tables :ignore: #+name: glossary -| label | name | description | -|-------+-------------------+-----------------------| -| ka | \ensuremath{k_a} | Actuator Stiffness in | -| phi | \ensuremath{\phi} | A woody bush | +| label | name | description | +|-------+-------------------------+----------------------------------------------------------| +| ms | \ensuremath{m_s} | Mass of the sample | +| mn | \ensuremath{m_n} | Mass of the nano-hexapod | +| mh | \ensuremath{m_h} | Mass of the micro-hexapod | +| mt | \ensuremath{m_t} | Mass of the micro-station stages | +| mg | \ensuremath{m_g} | Mass of the granite | +| xf | \ensuremath{x_f} | Floor motion | +| ft | \ensuremath{f_t} | Disturbance force of the micro-station | +| fs | \ensuremath{f_s} | Direct forces applied on the sample | +| d | \ensuremath{d} | Measured motion between the nano-hexapod and the granite | +| fn | \ensuremath{f_n} | Force sensor on the nano-hexapod | +| psdx | \ensuremath{\Phi_{x}} | Power spectral density of signal $x$ | +| asdx | \ensuremath{\Gamma_{x}} | Amplitude spectral density of signal $x$ | +| cpsx | \ensuremath{\Phi_{x}} | Cumulative Power Spectrum of signal $x$ | +| casx | \ensuremath{\Gamma_{x}} | Cumulative Amplitude Spectrum of signal $x$ | #+name: acronyms -| key | abbreviation | full form | -|------+--------------+-----------------------------------------| -| mimo | MIMO | Multiple-Inputs Multiple-Outputs | -| siso | SISO | Single-Input Single-Output | -| nass | NASS | Nano Active Stabilization System | -| lti | LTI | Linear Time Invariant | -| esrf | ESRF | European Synchrotron Radiation Facility | +| key | abbreviation | full form | +|--------+--------------+------------------------------------------------| +| haclac | HAC-LAC | High Authority Control - Low Authority Control | +| hac | HAC | High Authority Control | +| lac | LAC | Low Authority Control | +| nass | NASS | Nano Active Stabilization System | +| asd | ASD | Amplitude Spectral Density | +| psd | PSD | Power Spectral Density | +| cps | CPS | Cumulative Power Spectrum | +| cas | CAS | Cumulative Amplitude Spectrum | +| frf | FRF | Frequency Response Function | +| iff | IFF | Integral Force Feedback | +| rdc | RDC | Relative Damping Control | +| drga | DRGA | Dynamical Relative Gain Array | +| rga | RGA | Relative Gain Array | +| hpf | HPF | high-pass filter | +| lpf | LPF | low-pass filter | +| dof | DoF | Degree of freedom | +| svd | SVD | Singular Value Decomposition | +| mif | MIF | Mode Indicator Functions | +| dac | DAC | Digital to Analog Converter | +| fem | FEM | Finite Element Model | +| apa | APA | Amplified Piezoelectric Actuator | * Title Page :ignore: @@ -164,977 +196,3872 @@ #+end_export * Introduction -** Context of this thesis / Background and Motivation +# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org][NASS - Introduction]] -- \gls{esrf} (Figure [[fig:esrf_picture]]) - -#+name: fig:esrf_picture -#+caption: European Synchrotron Radiation Facility -#+attr_latex: :width 0.7\linewidth -[[file:figs/esrf_picture.jpg]] - -- ID31 and Micro Station (Figure [[fig:id31_microstation_picture]]) - -#+begin_src latex :file id31_microstation_picture.pdf -\begin{tikzpicture} - \node[inner sep=0pt, anchor=south west] (photo) at (0,0) - {\includegraphics[width=0.39\textwidth]{/home/thomas/Cloud/documents/reports/phd-thesis/figs/exp_setup_photo.png}}; - - \coordinate[] (aheight) at (photo.north west); - \coordinate[] (awidth) at (photo.south east); - - \coordinate[] (granite) at ($0.1*(aheight)+0.1*(awidth)$); - \coordinate[] (trans) at ($0.5*(aheight)+0.4*(awidth)$); - \coordinate[] (tilt) at ($0.65*(aheight)+0.75*(awidth)$); - \coordinate[] (hexapod) at ($0.7*(aheight)+0.5*(awidth)$); - \coordinate[] (sample) at ($0.9*(aheight)+0.55*(awidth)$); - - % Granite - \node[labelc] at (granite) {1}; - % Translation stage - \node[labelc] at (trans) {2}; - % Tilt Stage - \node[labelc] at (tilt) {3}; - % Micro-Hexapod - \node[labelc] at (hexapod) {4}; - % Sample - \node[labelc] at (sample) {5}; - - % Axis - \begin{scope}[shift={($0.07*(aheight)+0.87*(awidth)$)}] - \draw[->] (0, 0) -- ++(55:0.7) node[above] {$y$}; - \draw[->] (0, 0) -- ++(90:0.9) node[left] {$z$}; - \draw[->] (0, 0) -- ++(-20:0.7) node[above] {$x$}; - \end{scope} -\end{tikzpicture} -#+end_src - -#+name: fig:id31_microstation_picture -#+caption: Picture of the ID31 Micro-Station with annotations -#+attr_latex: :width 0.49\linewidth -#+RESULTS: -[[file:figs/id31_microstation_picture.png]] - -Alternative: =id31_microstation_cad_view.png= (CAD view) - -- X-ray beam + detectors + sample stage (Figure [[fig:id31_beamline_schematic]]) - -#+begin_src latex :file id31_beamline_schematic.pdf - \begin{tikzpicture} - % Parameters - \def\blockw{6.0cm} - \def\blockh{1.2cm} - - \def\tiltdeg{3} - \coordinate[] (rotationpoint) at (0, 4.5*\blockh); - - \begin{scope}[rotate around={\tiltdeg:(rotationpoint)}] - % Tilt - \path[] ([shift=(-120:4*\blockh)]rotationpoint) coordinate(beginarc) arc (-120:-110:4*\blockh) % - -- ([shift=(-70:4*\blockh)]rotationpoint) arc (-70:-60:4*\blockh)% - |- ++(-0.15*\blockw, 0.6*\blockh) coordinate (spindlene)% - |- ($(beginarc) + (0.15*\blockw, 0.2*\blockh)$) coordinate (spindlesw) -- ++(0, 0.4*\blockh) coordinate(tiltte) -| cycle; - - % Spindle - \coordinate[] (spindlese) at (spindlesw-|spindlene); - \draw[fill=black!30] ($(spindlese)+(-0.1,0.1)+(-0.1*\blockw, 0)$) -| ($(spindlene)+(-0.1, 0)$) -| coordinate[pos=0.25](spindletop) ($(spindlesw)+(0.1,0.1)$) -| ++(0.1*\blockw, -\blockh) -| coordinate[pos=0.25](spindlebot) cycle; - - % \draw[dashed, color=black!60] ($(spindletop)+(0, 0.2)$) -- ($(spindlebot)+(0,-0.2)$); - - % Tilt - \draw[fill=black!60] ([shift=(-120:4*\blockh)]rotationpoint) coordinate(beginarc) arc (-120:-110:4*\blockh) % - -- ([shift=(-70:4*\blockh)]rotationpoint) arc (-70:-60:4*\blockh)% - |- coordinate (tiltne) ++(-0.15*\blockw, 0.6*\blockh) coordinate (spindlene)% - |- ($(beginarc) + (0.15*\blockw, 0.2*\blockh)$) coordinate (spindlesw) -- ++(0, 0.4*\blockh) -| cycle; - - % Micro-Hexapod - \begin{scope}[shift={(spindletop)}] - % Parameters definitions - \def\baseh{0.22*\blockh} % Height of the base - \def\naceh{0.18*\blockh} % Height of the nacelle - \def\baser{0.22*\blockw} % Radius of the base - \def\nacer{0.18*\blockw} % Radius of the nacelle - - \def\armr{0.2*\blockh} % Radius of the arms - \def\basearmborder{0.2} - \def\nacearmborder{0.2} - - \def\xnace{0} \def\ynace{\blockh-\naceh} \def\anace{0} - \def\xbase{0} \def\ybase{0} \def\abase{0} - - % Hexapod1 - \begin{scope}[shift={(\xbase, \ybase)}, rotate=\abase] - % Base - \draw[fill=white] (-\baser, 0) coordinate[](uhexabot) rectangle (\baser, \baseh); - - \coordinate[] (armbasel) at (-\baser+\basearmborder+\armr, \baseh); - \coordinate[] (armbasec) at (0, \baseh); - \coordinate[] (armbaser) at (\baser-\basearmborder-\armr, \baseh); - - \begin{scope}[shift={(\xnace, \ynace)}, rotate=\anace] - \draw[fill=white] (-\nacer, 0) rectangle (\nacer, \naceh); - \coordinate[] (uhexatop) at (0, \naceh); - \coordinate[] (armnacel) at (-\nacer+\nacearmborder+\armr, 0); - \coordinate[] (armnacec) at (0, 0); - \coordinate[] (armnacer) at (\nacer-\nacearmborder-\armr, 0); - \end{scope} - - \draw[] (armbasec) -- (armnacer); - \draw[] (armbasec) -- (armnacel); - \draw[] (armbasel) -- coordinate(mhexaw) (armnacel); - \draw[] (armbasel) -- (armnacec); - \draw[] (armbaser) -- (armnacec); - \draw[] (armbaser) -- coordinate(mhexae) (armnacer); - \end{scope} - \end{scope} - - % Sample - \begin{scope}[shift={(uhexatop)}] - \draw[fill=white] (-0.1*\blockw, 0) coordinate[](samplebot) rectangle coordinate[pos=0.5](samplecenter) node[pos=0.5, above]{Sample} (0.1*\blockw, \blockh) coordinate[](samplene); - \coordinate[](samplenw) at (-0.1*\blockw, \blockh); - \end{scope} - \end{scope} - - \begin{scope}[shift={(0, -0.3*\blockh)}] - % Translation Stage - fixed part - \draw[fill=black!40] (-0.5*\blockw, 0) coordinate[](tyb) rectangle (0.5*\blockw, 0.15*\blockh); - \coordinate[] (measposbot) at (0.5*\blockw, 0); - - % Translation Stage - mobile part - \draw[fill=black!10, fill opacity=0.5] (-0.5*\blockw, 0.2*\blockh) -- (-0.5*\blockw, 1.5*\blockh) coordinate[](tyt) -- (0.5*\blockw, 1.5*\blockh) -- (0.5*\blockw, 0.2*\blockh) -- (0.35*\blockw, 0.2*\blockh) -- (0.35*\blockw, 0.8*\blockh) -- (-0.35*\blockw, 0.8*\blockh) -- (-0.35*\blockw, 0.2*\blockh) -- cycle; - - % Translation Guidance - \draw[dashed, color=black!60] ($(-0.5*\blockw, 0)+( 0.075*\blockw,0.5*\blockh)$) circle (0.2*\blockh); - \draw[dashed, color=black!60] ($( 0.5*\blockw, 0)+(-0.075*\blockw,0.5*\blockh)$) circle (0.2*\blockh); - - % Tilt Guidance - \draw[dashed, color=black!60] ([shift=(-107:4.1*\blockh)]rotationpoint) arc (-107:-120:4.1*\blockh); - \draw[dashed, color=black!60] ([shift=( -73:4.1*\blockh)]rotationpoint) arc (-73:-60:4.1*\blockh); - \end{scope} - - % % Vertical line - % \draw[dashed, color=black] (samplecenter) -- ++(0, -4*\blockh); - % \begin{scope}[rotate around={\tiltdeg:(samplecenter)}] - % \draw[dashed, color=black] (samplecenter) -- ++(0, -4*\blockh); - % \node[] at ($(samplecenter)+(0, -2.3*\blockh)$) {\AxisRotator[rotate=-90]}; - % \node[right, shift={(0.3,0)}] at ($(samplecenter)+(0, -2.3*\blockh)$) {$\theta_z$}; - % \end{scope} - % \draw[->] ([shift=(-90:3.6*\blockh)]samplecenter) arc (-90:-87:3.6*\blockh) node[right]{$\theta_y$}; - - % Laser - \begin{scope}[shift={(samplecenter)}] - \draw[color=red, -<-=0.3] (samplecenter) node[circle, fill=red, inner sep=0pt, minimum size=3pt]{} -- node[pos=0.3, above, color=black]{X-ray} ($(samplecenter)+(1.2*\blockw,0)$); - \end{scope} - - % Axis - \begin{scope}[shift={(-0.35*\blockw, 3*\blockh)}] - \def\axissize{0.8cm} - \draw[->] (0, 0) -- ++(0, \axissize) node[right]{$z$}; - \draw[->] (0, 0) -- ++(-\axissize, 0) node[above]{$x$}; - \draw[fill, color=black] (0, 0) circle (0.05*\axissize); - \node[draw, circle, inner sep=0pt, minimum size=0.4*\axissize, label=right:$y$] (yaxis) at (0, 0){}; - % \node[draw, circle, inner sep=0pt, cross, minimum size=0.4*\axissize, label=left:$y$] (yaxis) at (0, 0){}; - \end{scope} - - \node[fit={($(-0.6*\blockw, -0.5*\blockh)$) ($(0.6*\blockw, 4*\blockh)$)}, inner sep=0pt, draw, dashed, color=gray, label={Positioning Station}] (possystem) {}; - - \draw[fill=black!30] ($(tyb)+(-5, -1)$) coordinate[](granitesw) rectangle node[pos=0.5]{Granite Frame} ($(measposbot)+(5, 0)$) coordinate[](granitene); - - % Focusing Optics - \draw[fill=black!20] ($(granitene)+(-1.5, 3)$) rectangle ++(-1, 2); - \draw[spring] ($(granitene)+(-2, 0)$) -- ++(0, 3); - - \node[fit={($(granitene)+(-2.8, -0.2)$) ($(granitene)+(-1.2, 5.2)$)}, inner sep=0pt, draw, dashed, color=gray, label={Focusing Optics}] () {}; - - % Measurement Optics - \draw[fill=black!20] ($(granitesw)+(1.5, 4)$) rectangle ++(1, 2); - \draw[spring] ($(granitesw)+(2, 1)$) -- ++(0, 3); - - \node[fit={($(granitesw)+(2.8, 0.8)$) ($(granitesw)+(1.2, 6.2)$)}, inner sep=0pt, draw, dashed, color=gray, label={Imagery System}] () {}; - \end{tikzpicture} -#+end_src - -#+name: fig:id31_beamline_schematic -#+caption: ID31 Beamline Schematic. With light source, nano-focusing optics, sample stage and detector. -#+attr_latex: :width \linewidth -#+RESULTS: -[[file:figs/id31_beamline_schematic.png]] - -- Few words about science made on ID31 and why nano-meter accuracy is required -- Typical experiments (tomography, ...), various samples (up to 50kg) -- Where to explain the goal of each stage? (e.g. micro-hexapod: static positioning, Ty and Rz: scans, ...) -- Example of picture obtained (Figure [[fig:id31_tomography_result]]) - -#+name: fig:id31_tomography_result -#+caption: Image obtained on the ID31 beamline -#+attr_latex: :width 0.49\linewidth -[[file:example-image-c.png]] - -- Explain wanted positioning accuracy and why micro-station cannot have this accuracy (backlash, play, thermal expansion, ...) - -- Speak about the metrology concept, and why it is not included in this thesis - -** Challenge definition - -#+name: fig:nass_concept_schematic -#+caption: Nass Concept. 1: micro-station, 2: nano-hexapod, 3: sample, 4: 5DoF metrology -[[file:figs/nass_concept_schematic.png]] - -- 6DoF vibration control platform on top of a complex positioning platform -- *Goal*: Improve accuracy of 6DoF long stroke position platform -- *Approach*: Mechatronic approach / model based / predictive -- *Control*: Robust control approach / various payloads. - First hexapod with control bandwidth higher than the suspension modes that accepts various payloads? -- Rotation aspect -- Compactness? (more related to mechanical design) - -** Literature Review - -#+name: fig:stewart_platform_examples -#+caption: Examples of Stewart Platforms -#+begin_figure -#+name: fig:stewart_platform_a -#+attr_latex: :caption \subcaption{Stewart platform based on voice coil actuators} -#+attr_latex: :options {0.49\textwidth} -#+begin_subfigure -#+attr_latex: :width 0.8\linewidth -[[file:example-image-a.png]] -#+end_subfigure -#+name: fig:stewart_platform_a -#+attr_latex: :options {0.49\textwidth} -#+attr_latex: :caption \subcaption{Stewart platform based on piezoelectric actuators} -#+begin_subfigure -#+attr_latex: :width 0.8\linewidth -[[file:example-image-b.png]] -#+end_subfigure -#+end_figure - -- Hexapods - cite:li01_simul_fault_vibrat_isolat_point - cite:bishop02_devel_precis_point_contr_vibrat - cite:hanieh03_activ_stewar - cite:afzali-far16_vibrat_dynam_isotr_hexap_analy_studies - cite:naves20_desig - [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org]] -- Positioning stations -- Mechatronic approach? - cite:rankers98_machin - cite:monkhorst04_dynam_error_budget - cite:jabben07_mechat - -** Outline of thesis / Thesis Summary / Thesis Contributions - -*Mechatronic Design Approach* / *Model Based Design*: -- [[cite:&monkhorst04_dynam_error_budget]] high costs of the design process: the designed system must be *first time right*. - When the system is finally build, its performance level should satisfy the specifications. - No significant changes are allowed in the post design phase. - Because of this, the designer wants to be able to predict the performance of the system a-priori and gain insight in the performance limiting factors of the system. - -#+begin_src latex :file nass_mechatronics_approach.pdf -% \graphicspath{ {/home/thomas/Cloud/thesis/papers/dehaeze21_mechatronics_approach_nass/tikz/figs-tikz} } - -\begin{tikzpicture} - % Styles - \tikzset{myblock/.style= {draw, thin, color=white!70!black, fill=white, text width=3cm, align=center, minimum height=1.4cm}}; - \tikzset{mylabel/.style= {anchor=north, below, font=\bfseries\small, color=black, text width=3cm, align=center}}; - \tikzset{mymodel/.style= {anchor=south, above, font=\small, color=black, text width=3cm, align=center}}; - \tikzset{mystep/.style= {->, ultra thick}}; - - % Blocks - \node[draw, fill=lightblue, align=center, label={[mylabel, text width=8.0cm] Dynamical Models}, minimum height = 4.5cm, text width = 8.0cm] (model) at (0, 0) {}; - - \node[myblock, fill=lightgreen, label={[mylabel] Disturbances}, left = 3 of model.west] (dist) {}; - \node[myblock, fill=lightgreen, label={[mylabel] $\mu$ Station}, below = 2pt of dist] (mustation) {}; - \node[myblock, fill=lightgreen, label={[mylabel] $\nu$ Hexapod}, above = 2pt of dist] (nanohexapod) {}; - - \node[myblock, fill=lightyellow, label={[mylabel] Mech. Design}, above = 1 of model.north] (mechanical) {}; - \node[myblock, fill=lightyellow, label={[mylabel] Instrumentation}, left = 2pt of mechanical] (instrumentation) {}; - \node[myblock, fill=lightyellow, label={[mylabel] FEM}, right = 2pt of mechanical] (fem) {}; - - \node[myblock, fill=lightred, label={[mylabel] Test Benches}, right = 3 of model.east] (testbenches) {}; - \node[myblock, fill=lightred, label={[mylabel] Assembly}, above = 2pt of testbenches] (mounting) {}; - \node[myblock, fill=lightred, label={[mylabel] Implementation}, below = 2pt of testbenches] (implementation) {}; - - % Text - \node[anchor=south, above, text width=8cm, align=left] at (model.south) {Extensive use of models for:\begin{itemize}[noitemsep,topsep=5pt]\item Extraction of transfer functions \\ \item Choice of appropriate control architecture \\ \item Tuning of control laws \\ \item Closed loop simulations \\ \item Noise budgets / Evaluation of performances \\ \item Sensibility to parameters / disturbances\end{itemize}\centerline{Models are at the core the mecatronic approach!}}; - - \node[mymodel] at (mustation.south) {Multiple stages \\ Complex dynamics}; - \node[mymodel] at (dist.south) {Ground motion \\ Position errors}; - \node[mymodel] at (nanohexapod.south) {Different concepts \\ Sensors, Actuators}; - - \node[mymodel] at (instrumentation.south) {Sensors, Actuators \\ Electronics}; - \node[mymodel] at (mechanical.south) {Proper integration \\ Ease of assembly}; - \node[mymodel] at (fem.south) {Optimize key parts: \\ Joints, Plates, APA}; - - \node[mymodel] at (mounting.south) {Struts \\ Nano-Hexapod}; - \node[mymodel] at (testbenches.south) {Instrumentation \\ APA, Struts}; - \node[mymodel] at (implementation.south) {Control tests \\ $\mu$ Station}; - - % Links - \draw[->] (dist.east) -- node[above, midway]{{\small Measurements}} node[below,midway]{{\small Spectral Analysis}} (dist.east-|model.west); - \draw[->] (mustation.east) -- node[above, midway]{{\small Measurements}} node[below, midway]{{\small CAD Model}} (mustation.east-|model.west); - - \draw[->] ($(nanohexapod.east-|model.west)-(0, 0.15)$) -- node[below, midway]{{\small Optimization}} ($(nanohexapod.east)-(0, 0.15)$); - \draw[<-] ($(nanohexapod.east-|model.west)+(0, 0.15)$) -- node[above, midway]{{\small Model}} ($(nanohexapod.east)+(0, 0.15)$); - - \draw[->] ($(fem.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(fem.south)+(0.15,0)$); - \draw[<-] ($(fem.south|-model.north)-(0.15, 0)$) -- node[left, midway,align=right]{{\small Super}\\{\small Element}} ($(fem.south)-(0.15,0)$); - - \draw[->] ($(mechanical.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(mechanical.south)+(0.15,0)$); - \draw[<-] ($(mechanical.south|-model.north)-(0.15, 0)$) -- node[left, midway,align=right]{{\small CAD}\\{\small model}} ($(mechanical.south)-(0.15,0)$); - - \draw[->] ($(instrumentation.south|-model.north)+(0.15, 0)$) -- node[right, midway]{{\small Specif.}} ($(instrumentation.south)+(0.15,0)$); - \draw[<-] ($(instrumentation.south|-model.north)-(0.15, 0)$) -- node[left, midway]{{\small Model}} ($(instrumentation.south)-(0.15,0)$); - - \draw[->] ($(mounting.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Requirements}} ($(mounting.west)+(0, 0.15)$); - \draw[<-] ($(mounting.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(mounting.west)-(0, 0.15)$); - - \draw[->] ($(testbenches.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(testbenches.west)+(0, 0.15)$); - \draw[<-] ($(testbenches.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(testbenches.west)-(0, 0.15)$); - - \draw[->] ($(implementation.west-|model.east)+(0, 0.15)$) -- node[above, midway]{{\small Control Laws}} ($(implementation.west)+(0, 0.15)$); - \draw[<-] ($(implementation.west-|model.east)-(0, 0.15)$) -- node[below, midway]{{\small Model refinement}} ($(implementation.west)-(0, 0.15)$); - - % Main steps - \node[font=\bfseries, rotate=90, anchor=south, above] (conceptual_phase_node) at (dist.west) {1 - Conceptual Phase}; - \node[font=\bfseries, above] (detailed_phase_node) at (mechanical.north) {2 - Detail Design Phase}; - \node[font=\bfseries, rotate=-90, anchor=south, above] (implementation_phase_node) at (testbenches.east) {3 - Experimental Phase}; - \begin{scope}[on background layer] - \node[fit={(conceptual_phase_node.north|-nanohexapod.north) (mustation.south east)}, fill=lightgreen!50!white, draw, inner sep=2pt] (conceptual_phase) {}; - \node[fit={(detailed_phase_node.north-|instrumentation.west) (fem.south east)}, fill=lightyellow!50!white, draw, inner sep=2pt] (detailed_phase) {}; - \node[fit={(implementation_phase_node.north|-mounting.north) (implementation.south west)}, fill=lightred!50!white, draw, inner sep=2pt] (implementation_phase) {}; - % \node[above left] at (dob.south east) {DOB}; - \end{scope} - - % Between main steps - \draw[mystep, postaction={decorate,decoration={raise=1ex,text along path,text align=center,text={Concept Validation}}}] (conceptual_phase.north) to[out=90, in=180] (detailed_phase.west); - \draw[mystep, postaction={decorate,decoration={raise=1ex,text along path,text align=center,text={Procurement}}}] (detailed_phase.east) to[out=0, in=90] (implementation_phase.north); - - % % Inside Model - % \node[inner sep=1pt, outer sep=6pt, anchor=north west, draw, fill=white, thin] (multibodymodel) at ($(model.north west) - (0, 0.5)$) - % {\includegraphics[width=5.6cm]{simscape_nano_hexapod.png}}; - - % \node[inner sep=1pt, outer sep=6pt, anchor=south west, draw, fill=white, thin] (simscape) at (model.south west) - % {\includegraphics[width=5.6cm]{simscape_picture.jpg}}; - - % % Feedback Model - % \node[inner sep=3pt, outer sep=6pt, anchor=north east, draw, fill=white, thin] (simscape_sim) at ($(model.north east) - (0, 0.5)$) - % {\includegraphics[width=3.6cm]{simscape_simulations.pdf}}; - - % % 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 - -#+name: fig:nass_mechatronics_approach -#+caption: Overview of the mechatronic approach used for the Nano-Active-Stabilization-System -#+attr_latex: :width \linewidth -#+RESULTS: -[[file:figs/nass_mechatronics_approach.png]] - -*Goals*: -- Design \gls{nass} such that it is easy to control (and maintain). - Have good performances by design and not by complex control strategies. - - -*Models*: -- Uniaxial Model: - - Effect of limited support compliance - - Effect of change of payload -- Rotating Model - - Gyroscopic effects -- Multi Body Model -- Finite Element Models * Conceptual Design Development \minitoc **** Abstract +:PROPERTIES: +:UNNUMBERED: t +:END: #+name: fig:chapter1_overview #+caption: Figure caption +#+attr_org: :width 800px #+attr_latex: :width \linewidth [[file:figs/chapter1_overview.png]] -** COPY Uni-axial Model -# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A1-nass-uniaxial-model/nass-uniaxial-model.org][NASS - Uniaxial Model]] - +** Uni-axial Model *** Introduction :ignore: -- Explain what we want to capture with this model -- Schematic of the uniaxial model (with X-ray) -- Identification of disturbances (ground motion, stage vibrations) -- Optimal nano-hexapod stiffness/actuator: Voice coil VS Piezo (conclusion?) -- Control architecture (IFF, DVF, ...)? -- Conclusion +In this report, a uniaxial model of the acrfull:nass is developed and used to obtain a first idea of the challenges involved in this complex system. +Note that in this study, only the vertical direction is considered (which is the most stiff), but other directions were considered as well, yielding to similar conclusions. +The model is schematically shown in Figure ref:fig:uniaxial_overview_model_sections where the colors represent the parts studied in different sections. -#+begin_src latex :file mass_spring_damper_nass.pdf -\begin{tikzpicture} - % ==================== - % Parameters - % ==================== - \def\bracs{0.05} % Brace spacing vertically - \def\brach{-12pt} % Brace shift horizontaly - % ==================== +To have a relevant model, the micro-station dynamics is first identified and its model is tuned to match the measurements (Section ref:sec:uniaxial_micro_station_model). +Then, a model of the nano-hexapod is added on top of the micro-station. +With the added sample and sensors, this gives a uniaxial dynamical model of the acrshort:nass that will be used for further analysis (Section ref:sec:uniaxial_nano_station_model). - % ==================== - % 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$}; - % ==================== +The disturbances affecting position stability are identified experimentally (Section ref:sec:uniaxial_disturbances) and included in the model for dynamical noise budgeting (Section ref:sec:uniaxial_noise_budgeting). +In all the following analysis, three nano-hexapod stiffnesses are considered to better understand the trade-offs and to find the most adequate nano-hexapod design. +Three sample masses are also considered to verify the robustness of the applied control strategies with respect to a change of sample. - % ==================== - % 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); +To improve the position stability of the sample, an acrfull:haclac strategy is applied. +It consists of first actively damping the plant (the acrshort:lac part), and then applying a position control on the damped plant (the acrshort:hac part). - \draw[dashed] ( 0.9, 2.0) -- ++(2.0, 0) coordinate(xg); +Three active damping techniques are studied (Section ref:sec:uniaxial_active_damping) which are used to both reduce the effect of disturbances and make the system easier to control afterwards. +Once the system is well damped, a feedback position controller is applied and the obtained performance is analyzed (Section ref:sec:uniaxial_position_control). - % \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} - % ==================== +Two key effects that may limit that positioning performances are then considered: the limited micro-station compliance (Section ref:sec:uniaxial_support_compliance) and the presence of dynamics between the nano-hexapod and the sample's point of interest (Section ref:sec:uniaxial_payload_dynamics). - % ==================== - % Stages - \begin{scope}[shift={(0, 2.0)}] - \draw[fill=white] (-0.9, 1.2) rectangle (0.9, 2.0) node[pos=0.5]{$\scriptstyle\mu\text{-station}$}; - - \coordinate (mustation) at (0.9, 1.6); - - \draw[spring] (-0.7, 0) -- ++(0, 1.2); - \draw[damper] ( 0, 0) -- ++(0, 1.2); - \draw[actuator] ( 0.7, 0) -- ++(0, 1.2) node[midway, right=0.1](ft){$f_t$}; - - % \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] % - % (-0.9, \bracs) -- ++(0, 2.0) node[midway,rotate=90,anchor=south,yshift=10pt]{$\mu\text{-station}$}; - \end{scope} - % ==================== - - - % ==================== - % NASS - \begin{scope}[shift={(0, 4.0)}] - \draw[fill=white] (-0.9, 1.2) rectangle (0.9, 2.0) node[pos=0.5]{$\scriptstyle\nu\text{-hexapod}$}; - \draw[dashed] (0.9, 2.0) -- ++(2.0, 0) coordinate(xnpos); - - \draw[spring] (-0.7, 0) -- ++(0, 1.2) node[midway, left=0.1]{}; - \draw[damper] ( 0, 0) -- ++(0, 1.2) node[midway, left=0.2]{}; - \draw[actuator] ( 0.7, 0) -- ++(0, 1.2) coordinate[midway, right=0.1](f); - - % \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] % - % (-0.9, \bracs) -- ++(0, 2.2) node[midway,rotate=90,anchor=south,yshift=10pt]{$\nu\text{-hexapod}$}; - \end{scope} - % ==================== - - % ==================== - % Measured Displacement - \draw[<->, dashed] ($(xg)+(-0.1, 0)$) node[above left](d){$d$} -- ($(xnpos)+(-0.1, 0)$); - % ==================== - - % ==================== - % IFF Control - % \node[block={2em}{1.5em}, right=0.6 of fsensn] (iff) {$K_{\scriptscriptstyle IFF}$}; - % \node[addb] (ctrladd) at (f-|iff) {}; - \node[block={2em}{1.5em}, right=0.6 of mustation] (ctrl) {$K$}; - - % \draw[->] (fsensn.east) -- node[midway, above]{$\tau_m$} (iff.west); - % \draw[->] (iff.south) -- (ctrladd.north); - % \draw[->] (ctrladd.west) -- (f.east) node[above right]{$u$}; - \draw[->] (d.west) -| (ctrl.south); - \draw[->] (ctrl.north) |- (f) node[above right]{$u$}; - % ==================== -\end{tikzpicture} -#+end_src - -#+name: fig:mass_spring_damper_nass -#+caption: 3-DoF uniaxial mass-spring-damper model of the NASS +#+name: fig:uniaxial_overview_model_sections +#+caption: Uniaxial Micro-Station model in blue (Section ref:sec:uniaxial_micro_station_model), Nano-Hexapod models in red (Section ref:sec:uniaxial_nano_station_model), Disturbances in yellow (Section ref:sec:uniaxial_disturbances), Active Damping in green (Section ref:sec:uniaxial_active_damping), Position control in purple (Section ref:sec:uniaxial_position_control) and Sample dynamics in cyan (Section ref:sec:uniaxial_payload_dynamics) #+RESULTS: -[[file:figs/mass_spring_damper_nass.png]] +[[file:figs/uniaxial_overview_model_sections.png]] *** Micro Station Model -*** Nano Hexapod Model +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/uniaxial_1_micro_station_model.m +:END: +<> +**** Introduction :ignore: + +In this section, a uniaxial model of the micro-station is tuned to match measurements made on the micro-station. +The measurement setup is shown in Figure ref:fig:uniaxial_ustation_first_meas_dynamics where several geophones[fn:uniaxial_1] are fixed to the micro-station and an instrumented hammer is used to inject forces on different stages of the micro-station. + +From the measured frequency response functions (FRF), the model can be tuned to approximate the uniaxial dynamics of the micro-station. + +#+name: fig:uniaxial_ustation_first_meas_dynamics +#+caption: Experimental setup used for the first dynamical measurements on the Micro-Station. Geophones are fixed to different stages of the micro-station. +#+attr_latex: :width \linewidth +[[file:figs/uniaxial_ustation_first_meas_dynamics.jpg]] + +**** Measured dynamics + +The measurement setup is schematically shown in Figure ref:fig:uniaxial_ustation_meas_dynamics_schematic where two vertical hammer hits are performed, one on the Granite (force $F_{g}$) and the other on the micro-hexapod's top platform (force $F_{h}$). +The vertical inertial motion of the granite $x_{g}$ and the top platform of the micro-hexapod $x_{h}$ are measured using geophones. +Three frequency response functions were computed: one from $F_{h}$ to $x_{h}$ (i.e., the compliance of the micro-station), one from $F_{g}$ to $x_{h}$ (or from $F_{h}$ to $x_{g}$) and one from $F_{g}$ to $x_{g}$. + +Due to the poor coherence at low frequencies, these frequency response functions will only be shown between 20 and 200Hz (solid lines in Figure ref:fig:uniaxial_comp_frf_meas_model). + +#+name: fig:micro_station_uniaxial_model +#+caption: Schematic of the Micro-Station measurement setup and uniaxial model. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_ustation_meas_dynamics_schematic}Measurement setup - Schematic} +#+attr_latex: :options {0.69\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_ustation_meas_dynamics_schematic.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_model_micro_station}Uniaxial model of the micro-station} +#+attr_latex: :options {0.29\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_model_micro_station.png]] +#+end_subfigure +#+end_figure + +**** Uniaxial Model +The uniaxial model of the micro-station is shown in Figure ref:fig:uniaxial_model_micro_station. +It consists of a mass spring damper system with three degrees of freedom. +A mass-spring-damper system represents the granite (with mass $m_g$, stiffness $k_g$ and damping $c_g$). +Another mass-spring-damper system represents the different micro-station stages (the $T_y$ stage, the $R_y$ stage and the $R_z$ stage) with mass $m_t$, damping $c_t$ and stiffness $k_t$. +Finally, a third mass-spring-damper system represents the micro-hexapod with mass $m_h$, damping $c_h$ and stiffness $k_h$. + +The masses of the different stages are estimated from the 3D model, while the stiffnesses are from the data-sheet of the manufacturers. +The damping coefficients were tuned to match the damping identified from the measurements. +The parameters obtained are summarized in Table ref:tab:uniaxial_ustation_parameters. + +#+name: tab:uniaxial_ustation_parameters +#+caption: Physical parameters used for the micro-station uniaxial model +#+attr_latex: :environment tabularx :width 0.9\linewidth :align lXXX +#+attr_latex: :center t :booktabs t +| *Stage* | *Mass* | *Stiffness* | *Damping* | +|---------------------+-------------------------+----------------------+-----------------------------| +| Micro-Hexapod | $m_h = 15\,\text{kg}$ | $k_h = 61\,N/\mu m$ | $c_h = 3\,\frac{kN}{m/s}$ | +| $T_y$, $R_y$, $R_z$ | $m_t = 1200\,\text{kg}$ | $k_t = 520\,N/\mu m$ | $c_t = 80\,\frac{kN}{m/s}$ | +| Granite | $m_g = 2500\,\text{kg}$ | $k_g = 950\,N/\mu m$ | $c_g = 250\,\frac{kN}{m/s}$ | + +Two disturbances are considered which are shown in red: the floor motion $x_f$ and the stage vibrations represented by $f_t$. +The hammer impacts $F_{h}, F_{g}$ are shown in blue, whereas the measured inertial motions $x_{h}, x_{g}$ are shown in black. + +**** Comparison of model and measurements +The transfer functions from the forces injected by the hammers to the measured inertial motion of the micro-hexapod and granite are extracted from the uniaxial model and compared to the measurements in Figure ref:fig:uniaxial_comp_frf_meas_model. + +Because the uniaxial model has three degrees of freedom, only three modes with frequencies at $70\,\text{Hz}$, $140\,\text{Hz}$ and $320\,\text{Hz}$ are modeled. +Many more modes can be observed in the measurements (see Figure ref:fig:uniaxial_comp_frf_meas_model). +However, the goal is not to have a perfect match with the measurement (this would require a much more complex model), but to have a first approximation. +More accurate models will be used later on. + +#+name: fig:uniaxial_comp_frf_meas_model +#+caption: Comparison of the measured FRF and identified ones from the uniaxial model +#+RESULTS: +[[file:figs/uniaxial_comp_frf_meas_model.png]] + +*** Nano-Hexapod Model +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/uniaxial_2_nano_hexapod_model.m +:END: +<> +**** Introduction :ignore: + +A model of the nano-hexapod and sample is now added on top of the uniaxial model of the micro-station (Figure ref:fig:uniaxial_model_micro_station_nass). +Disturbances (shown in red) are gls:fs the direct forces applied to the sample (for example cable forces), gls:ft representing the vibrations induced when scanning the different stages and gls:xf the floor motion. +The control signal is the force applied by the nano-hexapod $f$ and the measurement is the relative motion between the sample and the granite $d$. +The sample is here considered as a rigid body and rigidly fixed to the nano-hexapod. +The effect of resonances between the sample's point of interest and the nano-hexapod actuator will be considered in Section ref:sec:uniaxial_payload_dynamics. + +#+name: fig:uniaxial_model_micro_station_nass_with_tf +#+caption: Uniaxial model of the NASS \subref{fig:uniaxial_model_micro_station_nass} with the micro-station shown in black, the nano-hexapod represented in blue and the sample represented in green. Disturbances are shown in red. Extracted transfer function from $f$ to $d$ \subref{fig:uniaxial_plant_first_params}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_model_micro_station_nass}Uniaxial mass-spring-damper model of the NASS} +#+attr_latex: :options {0.39\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_model_micro_station_nass.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_plant_first_params}Bode Plot of the transfer function from actuator forces $f$ to measured displacement $d$ by the metrology} +#+attr_latex: :options {0.59\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_plant_first_params.png]] +#+end_subfigure +#+end_figure + +**** Nano-Hexapod Parameters +The nano-hexapod is represented by a mass spring damper system (shown in blue in Figure ref:fig:uniaxial_model_micro_station_nass). +Its mass gls:mn is set to $15\,\text{kg}$ while its stiffness $k_n$ can vary depending on the chosen architecture/technology. +The sample is represented by a mass gls:ms that can vary from $1\,\text{kg}$ up to $50\,\text{kg}$. + +As a first example, the nano-hexapod stiffness of is set at $k_n = 10\,N/\mu m$ and the sample mass is chosen at $m_s = 10\,\text{kg}$. + +**** Obtained Dynamic Response +The sensitivity to disturbances (i.e., the transfer functions from $x_f,f_t,f_s$ to $d$) can be extracted from the uniaxial model of Figure ref:fig:uniaxial_model_micro_station_nass and are shown in Figure ref:fig:uniaxial_sensitivity_dist_first_params. +The /plant/ (i.e., the transfer function from actuator force $f$ to measured displacement $d$) is shown in Figure ref:fig:uniaxial_plant_first_params. + +For further analysis, 9 "configurations" of the uniaxial NASS model of Figure ref:fig:uniaxial_model_micro_station_nass will be considered: three nano-hexapod stiffnesses ($k_n = 0.01\,N/\mu m$, $k_n = 1\,N/\mu m$ and $k_n = 100\,N/\mu m$) combined with three sample's masses ($m_s = 1\,kg$, $m_s = 25\,kg$ and $m_s = 50\,kg$). + +#+name: fig:uniaxial_sensitivity_dist_first_params +#+caption: Sensitivity of the relative motion $d$ to disturbances: $f_s$ the direct forces applied on the sample \subref{fig:uniaxial_sensitivity_dist_first_params_fs}, $f_t$ disturbances from the micro-station stages \subref{fig:uniaxial_sensitivity_dist_first_params_ft} and $x_f$ the floor motion \subref{fig:uniaxial_sensitivity_dist_first_params_fs} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_first_params_fs}Direct forces} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_first_params_fs.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_first_params_ft}$\mu\text{-station}$ disturbances} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_first_params_ft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_first_params_xf}Floor motion} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_first_params_xf.png]] +#+end_subfigure +#+end_figure + +**** Identification of all combination of stiffnesses / masses :noexport: + *** Disturbance Identification -*** Open Loop Dynamic Noise Budgeting +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/uniaxial_3_disturbances.m +:END: +<> +**** Introduction :ignore: +To quantify disturbances (red signals in Figure ref:fig:uniaxial_model_micro_station_nass), three geophones[fn:uniaxial_2] are used. +One is located on the floor, another one on the granite, and the last one on the micro-hexapod's top platform (see Figure ref:fig:uniaxial_ustation_meas_disturbances). +The geophone located on the floor was used to measure the floor motion $x_f$ while the other two geophones were used to measure vibrations introduced by scanning of the $T_y$ stage and $R_z$ stage (see Figure ref:fig:uniaxial_ustation_dynamical_id_setup). -- List all disturbances with their spectral densities -- Show how they have been measured -- Say that repeatable errors can be calibrated (show measurement of Hans-Peter?) +#+name: fig:uniaxial_ustation_meas_disturbances_setup +#+caption: Identification of the disturbances coming from the micro-station. The measurement schematic is shown in \subref{fig:uniaxial_ustation_meas_disturbances}. A picture of the setup is shown in \subref{fig:uniaxial_ustation_dynamical_id_setup} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_ustation_meas_disturbances}Disturbance measurement setup - Schematic} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_ustation_meas_disturbances.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_ustation_dynamical_id_setup}Two geophones are used to measure vibrations induced by $T_y$ and $R_z$ scans} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_ustation_dynamical_id_setup.jpg]] +#+end_subfigure +#+end_figure -#+name: fig:measurement_microstation_vibration_picture -#+caption: Setup used to measure the micro-station vibrations during operation -#+attr_latex: :width 0.4\linewidth -[[file:measurement_microstation_vibration_picture.jpg]] +**** Ground Motion +To acquire the geophone signals, the measurement setup shown in Figure ref:fig:uniaxial_geophone_meas_chain is used. +The voltage generated by the geophone is amplified using a low noise voltage amplifier[fn:uniaxial_3] with a gain of 60dB before going to the ADC. +This is done to improve the signal-to-noise ratio. -#+name: fig:asd_ground_motion_ustation_dist -#+caption: Amplitude Spectral density of the measured disturbance sources -#+attr_latex: :width 0.49\linewidth -[[file:example-image-b.png]] +To reconstruct the displacement $x_f$ from the measured voltage $\hat{V}_{x_f}$, the transfer function of the measurement chain from $x_f$ to $\hat{V}_{x_f}$ needs to be estimated. +First, the transfer function $G_{geo}$ from the floor motion $x_{f}$ to the generated geophone voltage $V_{x_f}$ is shown in eqref:eq:uniaxial_geophone_tf, with $T_g = 88\,\frac{V}{m/s}$ the sensitivity of the geophone, $f_0 = \frac{\omega_0}{2\pi} = 2\,\text{Hz}$ its resonance frequency and $\xi = 0.7$ its damping ratio. +This model of the geophone was taken from [[cite:&collette12_review]]. +The gain of the voltage amplifier is $V^{\prime}_{x_f}/V_{x_f} = g_0 = 1000$. + +\begin{equation}\label{eq:uniaxial_geophone_tf} +G_{geo}(s) = \frac{V_{x_f}}{x_f}(s) = T_{g} \cdot s \cdot \frac{s^2}{s^2 + 2 \xi \omega_0 s + \omega_0^2} \quad \left[ V/m \right] +\end{equation} + +#+name: fig:uniaxial_geophone_meas_chain +#+caption: Measurement setup for one geophone. The inertial displacement $x$ is converted to a voltage $V$ by the geophone. This voltage is amplified by a factor $g_0 = 60\,dB$ using a low-noise voltage amplifier. It is then converted to a digital value $\hat{V}_x$ using a 16bit ADC. +#+RESULTS: +[[file:figs/uniaxial_geophone_meas_chain.png]] + +The amplitude spectral density of the floor motion $\Gamma_{x_f}$ can be computed from the amplitude spectral density of measured voltage $\Gamma_{\hat{V}_{x_f}}$ using eqref:eq:uniaxial_asd_floor_motion. +The estimated amplitude spectral density $\Gamma_{x_f}$ of the floor motion $x_f$ is shown in Figure ref:fig:uniaxial_asd_floor_motion_id31. + +\begin{equation}\label{eq:uniaxial_asd_floor_motion} +\Gamma_{x_f}(\omega) = \frac{\Gamma_{\hat{V}_{x_f}}(\omega)}{|G_{geo}(j\omega)| \cdot g_0} \quad \left[ m/\sqrt{\text{Hz}} \right] +\end{equation} + +#+name: fig:uniaxial_asd_disturbance +#+caption: Estimated amplitude spectral density of the floor motion $x_f$ \subref{fig:uniaxial_asd_floor_motion_id31} and of the stage disturbances $f_t$ \subref{fig:uniaxial_asd_disturbance_force} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_asd_floor_motion_id31}Estimated ASD of $x_f$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_asd_floor_motion_id31.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_asd_disturbance_force}Estimated ASD of $f_t$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_asd_disturbance_force.png]] +#+end_subfigure +#+end_figure + +**** Stage Vibration +To estimate the vibrations induced by scanning the micro-station stages, two geophones are used, as shown in Figure ref:fig:uniaxial_ustation_dynamical_id_setup. +The vertical relative velocity between the top platform of the micro hexapod and the granite is estimated in two cases: without moving the micro-station stages, and then during a Spindle rotation at 6rpm. +The vibrations induced by the $T_y$ stage are not considered here because they have less amplitude than the vibrations induced by the $R_z$ stage and because the $T_y$ stage can be scanned at lower velocities if the induced vibrations are found to be an issue. + +The amplitude spectral density of the relative motion with and without the Spindle rotation are compared in Figure ref:fig:uniaxial_asd_vibration_spindle_rotation. +It is shown that the spindle rotation increases the vibrations above $20\,\text{Hz}$. +The sharp peak observed at $24\,\text{Hz}$ is believed to be induced by electromagnetic interference between the currents in the spindle motor phases and the geophone cable because this peak is not observed when rotating the spindle "by hand". + +#+name: fig:uniaxial_asd_vibration_spindle_rotation +#+caption: Amplitude Spectral Density $\Gamma_{R_z}$ of the relative motion measured between the granite and the micro-hexapod's top platform during Spindle rotating +#+RESULTS: +[[file:figs/uniaxial_asd_vibration_spindle_rotation.png]] + +To compute the equivalent disturbance force $f_t$ (Figure ref:fig:uniaxial_model_micro_station) that induces such motion, the transfer function $G_{f_t}(s)$ from $f_t$ to the relative motion between the micro-hexapod's top platform and the granite $(x_{h} - x_{g})$ is extracted from the model. +The amplitude spectral density $\Gamma_{f_{t}}$ of the disturbance force is them computed from eqref:eq:uniaxial_ft_asd and is shown in Figure ref:fig:uniaxial_asd_disturbance_force. + +\begin{equation}\label{eq:uniaxial_ft_asd} +\Gamma_{f_{t}}(\omega) = \frac{\Gamma_{R_{z}}(\omega)}{|G_{f_t}(j\omega)|} +\end{equation} + +*** Open-Loop Dynamic Noise Budgeting +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/uniaxial_4_dynamic_noise_budget.m +:END: +<> +**** Introduction :ignore: +Now that a model of the acrshort:nass has been obtained (see section ref:sec:uniaxial_nano_station_model) and that the disturbances have been estimated (see section ref:sec:uniaxial_disturbances), it is possible to perform an /open-loop dynamic noise budgeting/. + +To perform such noise budgeting, the disturbances need to be modeled by their spectral densities (done in section ref:sec:uniaxial_disturbances). +Then, the transfer functions from disturbances to the performance metric (here the distance $d$) are computed (Section ref:ssec:uniaxial_noise_budget_sensitivity). +Finally, these two types of information are combined to estimate the corresponding spectral density of the performance metric. +This is very useful to identify what is limiting the performance of the system, or the compare the achievable performance with different system parameters (Section ref:ssec:uniaxial_noise_budget_result). + +**** Sensitivity to disturbances +<> +From the uniaxial model of the acrshort:nass (Figure ref:fig:uniaxial_model_micro_station_nass), the transfer function from the disturbances ($f_s$, $x_f$ and $f_t$) to the displacement $d$ are computed. + +This is done for two extreme sample masses $m_s = 1\,\text{kg}$ and $m_s = 50\,\text{kg}$ and three nano-hexapod stiffnesses: +- $k_n = 0.01\,N/\mu m$ that represents a voice coil actuator with soft flexible guiding +- $k_n = 1\,N/\mu m$ that represents a voice coil actuator with a stiff flexible guiding or a mechanically amplified piezoelectric actuator +- $k_n = 100\,N/\mu m$ that represents a stiff piezoelectric stack actuator + +The obtained sensitivity to disturbances for the three nano-hexapod stiffnesses are shown in Figure ref:fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses for the sample mass $m_s = 1\,\text{kg}$ (the same conclusions can be drawn with $m_s = 50\,\text{kg}$): +- The soft nano-hexapod is more sensitive to forces applied on the sample (cable forces for instance), which is expected due to its lower stiffness (Figure ref:fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs) +- Between the suspension mode of the nano-hexapod (here at 5Hz for the soft nano-hexapod) and the first mode of the micro-station (here at 70Hz), the disturbances induced by the stage vibrations are filtered out (Figure ref:fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft) +- Above the suspension mode of the nano-hexapod, the sample's inertial motion is unaffected by the floor motion; therefore, the sensitivity to floor motion is close to $1$ (Figure ref:fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_xf) + +#+name: fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses +#+caption: Sensitivity of $d$ to disturbances for three different nano-hexpod stiffnesses. $f_s$ the direct forces applied on the sample \subref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs}, $f_t$ disturbances from the micro-station stages \subref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft} and $x_f$ the floor motion \subref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs}Direct forces} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft}$\mu\text{-station}$ disturbances} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_xf}Floor motion} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_xf.png]] +#+end_subfigure +#+end_figure + +**** Open-Loop Dynamic Noise Budgeting +<> +Now, the amplitude spectral densities of the disturbances are considered to estimate the residual motion $d$ for each nano-hexapod and sample configuration. +The Cumulative Amplitude Spectrum of the relative motion $d$ due to both floor motion $x_f$ and stage vibrations $f_t$ are shown in Figure ref:fig:uniaxial_cas_d_disturbances_stiffnesses for the three nano-hexapod stiffnesses. +It is shown that the effect of floor motion is much less than that of stage vibrations, except for the soft nano-hexapod below $5\,\text{Hz}$. + +The total cumulative amplitude spectrum of $d$ for the three nano-hexapod stiffnesses and for the two samples masses are shown in Figure ref:fig:uniaxial_cas_d_disturbances_payload_masses. +The conclusion is that the sample mass has little effect on the cumulative amplitude spectrum of the relative motion $d$. + +#+name: fig:uniaxial_cas_d_disturbances +#+caption: Cumulative Amplitude Spectrum of the relative motion $d$. The effect of $x_f$ and $f_t$ are shown in \subref{fig:uniaxial_cas_d_disturbances_stiffnesses}. The effect of sample mass for the three hexapod stiffnesses is shown in \subref{fig:uniaxial_cas_d_disturbances_payload_masses}. The control objective of having a residual error of 20 nm RMS is shown by the horizontal black dashed line. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_cas_d_disturbances_stiffnesses}Effect of floor motion $x_f$ and stage disturbances $f_t$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_cas_d_disturbances_stiffnesses.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_cas_d_disturbances_payload_masses}Effect of $\nu\text{-hexapod}$ stiffness $k_n$ and payload mass $m_s$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_cas_d_disturbances_payload_masses.png]] +#+end_subfigure +#+end_figure + +**** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: + +The open-loop residual vibrations of $d$ can be estimated from the low-frequency value of the cumulative amplitude spectrum in Figure ref:fig:uniaxial_cas_d_disturbances_payload_masses. +This residual vibration of $d$ is found to be in the order of $100\,nm\,\text{RMS}$ for the stiff nano-hexapod ($k_n = 100\,N/\mu m$), $200\,nm\,\text{RMS}$ for the relatively stiff nano-hexapod ($k_n = 1\,N/\mu m$) and $1\,\mu m\,\text{RMS}$ for the soft nano-hexapod ($k_n = 0.01\,N/\mu m$). +From this analysis, it may be concluded that the stiffer the nano-hexapod the better. + +However, what is more important is the /closed-loop/ residual vibration of $d$ (i.e., while the feedback controller is used). +The goal is to obtain a closed-loop residual vibration $\epsilon_d \approx 20\,nm\,\text{RMS}$ (represented by an horizontal dashed black line in Figure ref:fig:uniaxial_cas_d_disturbances_payload_masses). +The bandwidth of the feedback controller leading to a closed-loop residual vibration of $20\,nm\,\text{RMS}$ can be estimated as the frequency at which the cumulative amplitude spectrum crosses the black dashed line in Figure ref:fig:uniaxial_cas_d_disturbances_payload_masses. +# TODO - It would be important to link to a appendix where this is explained in more details, or add some references where this is explained +A closed loop bandwidth of $\approx 10\,\text{Hz}$ is found for the soft nano-hexapod ($k_n = 0.01\,N/\mu m$), $\approx 50\,\text{Hz}$ for the relatively stiff nano-hexapod ($k_n = 1\,N/\mu m$), and $\approx 100\,\text{Hz}$ for the stiff nano-hexapod ($k_n = 100\,N/\mu m$). +Therefore, while the /open-loop/ vibration is the lowest for the stiff nano-hexapod, it requires the largest feedback bandwidth to meet the specifications. + +The advantage of the soft nano-hexapod can be explained by its natural isolation from the micro-station vibration above its suspension mode, as shown in Figure ref:fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft. *** Active Damping +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/uniaxial_5_active_damping.m +:END: +<> +**** Introduction :ignore: +In this section, three active damping techniques are applied to the nano-hexapod (see Figure ref:fig:uniaxial_active_damping_strategies): Integral Force Feedback (IFF) cite:preumont91_activ, Relative Damping Control (RDC) [[cite:&preumont18_vibrat_contr_activ_struc_fourt_edition Chapter 7.2]] and Direct Velocity Feedback (DVF) cite:karnopp74_vibrat_contr_using_semi_activ_force_gener,serrand00_multic_feedb_contr_isolat_base_excit_vibrat,preumont02_force_feedb_versus_accel_feedb. -Conclusion: IFF is better for this application +These damping strategies are first described (Section ref:ssec:uniaxial_active_damping_strategies) and are then compared in terms of achievable damping of the nano-hexapod mode (Section ref:ssec:uniaxial_active_damping_achievable_damping), reduction of the effect of disturbances (i.e., $x_f$, $f_t$ and $f_s$) on the displacement $d$ (Sections ref:ssec:uniaxial_active_damping_sensitivity_disturbances). -**** Integral Force Feedback +#+name: fig:uniaxial_active_damping_strategies +#+caption: Three active damping strategies. Integral Force Feedback \subref{fig:uniaxial_active_damping_strategies_iff} using a force sensor, Relative Damping Control \subref{fig:uniaxial_active_damping_strategies_rdc} using a relative displacement sensor, and Direct Velocity Feedback \subref{fig:uniaxial_active_damping_strategies_dvf} using a geophone +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_strategies_iff}IFF} +#+attr_latex: :options {0.36\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_strategies_iff.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_strategies_rdc}RDC} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_strategies_rdc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_strategies_dvf}DVF} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_strategies_dvf.png]] +#+end_subfigure +#+end_figure -- Mass spring damper model -- Root Locus -- Sensitivity to disturbances +**** Active Damping Strategies +<> +***** Integral Force Feedback (IFF) +The Integral Force Feedback strategy consists of using a force sensor in series with the actuator (see Figure ref:fig:uniaxial_active_damping_iff_schematic) and applying an "integral" feedback controller eqref:eq:uniaxial_iff_controller. -**** Direct Velocity Feedback +\begin{equation}\label{eq:uniaxial_iff_controller} +\boxed{K_{\text{IFF}}(s) = \frac{g}{s}} +\end{equation} -- Mass spring damper model -- Root Locus -- Sensitivity to disturbances +The mechanical equivalent of this IFF strategy is a dashpot in series with the actuator stiffness with a damping coefficient equal to the stiffness of the actuator divided by the controller gain $k/g$ (see Figure ref:fig:uniaxial_active_damping_iff_equiv). +#+name: fig:uniaxial_active_damping_iff +#+caption: Integral Force Feedback \subref{fig:uniaxial_active_damping_iff_schematic} is equivalent to a damper in series with the actuator stiffness \subref{fig:uniaxial_active_damping_iff_equiv} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_iff_schematic}Integral Force Feedback} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_iff_schematic.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_iff_equiv}Equivalent mechanical representation} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_iff_equiv.png]] +#+end_subfigure +#+end_figure + +***** Relative Damping Control (RDC) +For the Relative Damping Control strategy, a relative motion sensor that measures the motion of the actuator is used (see Figure ref:fig:uniaxial_active_damping_rdc_schematic) and a "derivative" feedback controller is used eqref:eq:uniaxial_rdc_controller. + +\begin{equation}\label{eq:uniaxial_rdc_controller} +\boxed{K_{\text{RDC}}(s) = - g \cdot s} +\end{equation} + +The mechanical equivalent of acrshort:rdc is a dashpot in parallel with the actuator with a damping coefficient equal to the controller gain $g$ (see Figure ref:fig:uniaxial_active_damping_rdc_equiv). + +#+name: fig:uniaxial_active_damping_rdc +#+caption: Relative Damping Control \subref{fig:uniaxial_active_damping_rdc_schematic} is equivalent to a damper in parallel with the actuator \subref{fig:uniaxial_active_damping_rdc_equiv} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_rdc_schematic}Relative motion control} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_rdc_schematic.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_rdc_equiv}Equivalent mechanical representation} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_rdc_equiv.png]] +#+end_subfigure +#+end_figure + +***** Direct Velocity Feedback (DVF) +Finally, the direct velocity feedback strategy consists of using an inertial sensor (usually a geophone) that measures the "absolute" velocity of the body fixed on top of the actuator (see Figure ref:fig:uniaxial_active_damping_dvf_schematic). +This velocity is fed back to the actuator with a "proportional" controller eqref:eq:uniaxial_dvf_controller. + +\begin{equation}\label{eq:uniaxial_dvf_controller} +\boxed{K_{\text{DVF}}(s) = - g} +\end{equation} + +This is equivalent to a dashpot (with a damping coefficient equal to the controller gain $g$) between the body (on which the inertial sensor is fixed) and an inertial reference frame (see Figure ref:fig:uniaxial_active_damping_dvf_equiv). +This is usually referred to as "/sky hook damper/". + +#+name: fig:uniaxial_active_damping_dvf +#+caption: Direct velocity Feedback \subref{fig:uniaxial_active_damping_dvf_schematic} is equivalent to a "sky hook damper" \subref{fig:uniaxial_active_damping_dvf_equiv} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_dvf_schematic}Direct velocity feedback} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_dvf_schematic.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_active_damping_dvf_equiv}Equivalent mechanical representation} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_active_damping_dvf_equiv.png]] +#+end_subfigure +#+end_figure + +**** Plant Dynamics for Active Damping +<> +The plant dynamics for all three active damping techniques are shown in Figure ref:fig:uniaxial_plant_active_damping_techniques. +All have /alternating poles and zeros/ meaning that the phase does not vary by more than $180\,\text{deg}$ which makes the design of a /robust/ damping controller very easy. + +This alternating poles and zeros property is guaranteed for the IFF and RDC cases because the sensors are collocated with the actuator [[cite:&preumont18_vibrat_contr_activ_struc_fourt_edition Chapter 7]]. +For the DVF controller, this property is not guaranteed, and may be lost if some flexibility between the nano-hexapod and the sample is considered [[cite:&preumont18_vibrat_contr_activ_struc_fourt_edition Chapter 8.4]]. + +When the nano-hexapod's suspension modes are at frequencies lower than the resonances of the micro-station (blue and red curves in Figure ref:fig:uniaxial_plant_active_damping_techniques), the resonances of the micro-stations have little impact on the IFF and DVF transfer functions. +For the stiff nano-hexapod (yellow curves), the micro-station dynamics can be seen on the transfer functions in Figure ref:fig:uniaxial_plant_active_damping_techniques. +Therefore, it is expected that the micro-station dynamics might impact the achievable damping if a stiff nano-hexapod is used. + +#+name: fig:uniaxial_plant_active_damping_techniques +#+caption: Plant dynamics for the three active damping techniques (IFF: \subref{fig:uniaxial_plant_active_damping_techniques_iff}, RDC: \subref{fig:uniaxial_plant_active_damping_techniques_rdc}, DVF: \subref{fig:uniaxial_plant_active_damping_techniques_dvf}), for three nano-hexapod stiffnesses ($k_n = 0.01\,N/\mu m$ in blue, $k_n = 1\,N/\mu m$ in red and $k_n = 100\,N/\mu m$ in yellow) and three sample's masses ($m_s = 1\,kg$: solid curves, $m_s = 25\,kg$: dot-dashed curves, and $m_s = 50\,kg$: dashed curves). +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_plant_active_damping_techniques_iff}IFF} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/uniaxial_plant_active_damping_techniques_iff.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_plant_active_damping_techniques_rdc}RDC} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/uniaxial_plant_active_damping_techniques_rdc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_plant_active_damping_techniques_dvf}DVF} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/uniaxial_plant_active_damping_techniques_dvf.png]] +#+end_subfigure +#+end_figure + +**** Active Damping Controller Optimization and Damped plants :noexport: + +**** Achievable Damping and Damped Plants +<> + +To compare the added damping using the three considered active damping strategies, the root locus plot is used. +Indeed, the damping ratio $\xi$ of a pole in the complex plane can be estimated from the angle $\phi$ it makes with the imaginary axis eqref:eq:uniaxial_damping_ratio_angle. +Increasing the angle with the imaginary axis therefore means that more damping is added to the considered resonance. +This is illustrated in Figure ref:fig:uniaxial_root_locus_damping_techniques_micro_station_mode by the dashed black line indicating the maximum achievable damping. + +\begin{equation}\label{eq:uniaxial_damping_ratio_angle} +\xi = \sin(\phi) +\end{equation} + +The Root Locus for the three nano-hexapod stiffnesses and the three active damping techniques are shown in Figure ref:fig:uniaxial_root_locus_damping_techniques. +All three active damping approaches can lead to /critical damping/ of the nano-hexapod suspension mode (angle $\phi$ can be increased up to 90 degrees). +There is even some damping authority on micro-station modes in the following cases: +- IFF with a stiff nano-hexapod (Figure ref:fig:uniaxial_root_locus_damping_techniques_stiff) :: + This can be understood from the mechanical equivalent of IFF shown in Figure ref:fig:uniaxial_active_damping_iff_equiv considering an high stiffness $k$. + The micro-station top platform is connected to an inertial mass (the nano-hexapod) through a damper, which dampens the micro-station suspension suspension mode. +- DVF with a stiff nano-hexapod (Figure ref:fig:uniaxial_root_locus_damping_techniques_stiff) :: + In that case, the "sky hook damper" (see mechanical equivalent of DVF in Figure ref:fig:uniaxial_active_damping_dvf_equiv) is connected to the micro-station top platform through the stiff nano-hexapod. +- RDC with a soft nano-hexapod (Figure ref:fig:uniaxial_root_locus_damping_techniques_micro_station_mode) :: + At the frequency of the micro-station mode, the nano-hexapod top mass behaves as an inertial reference because the suspension mode of the soft nano-hexapod is at much lower frequency. + The micro-station and the nano-hexapod masses are connected through a large damper induced by RDC (see mechanical equivalent in Figure ref:fig:uniaxial_active_damping_rdc_equiv) which allows some damping of the micro-station. + +#+name: fig:uniaxial_root_locus_damping_techniques +#+caption: Root Loci for the three active damping techniques (IFF in blue, RDC in red and DVF in yellow). This is shown for the three nano-hexapod stiffnesses. The Root Loci are zoomed in the suspension mode of the nano-hexapod. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_root_locus_damping_techniques_soft}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_root_locus_damping_techniques_soft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_root_locus_damping_techniques_mid}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_root_locus_damping_techniques_mid.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_root_locus_damping_techniques_stiff}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_root_locus_damping_techniques_stiff.png]] +#+end_subfigure +#+end_figure + +#+name: fig:uniaxial_root_locus_damping_techniques_micro_station_mode +#+caption: Root Locus for the three damping techniques applied with the soft nano-hexapod. It is shown that the RDC active damping technique has some authority on one mode of the micro-station. This mode corresponds to the suspension mode of the micro-hexapod. +#+RESULTS: +[[file:figs/uniaxial_root_locus_damping_techniques_micro_station_mode.png]] + +The transfer functions from the plant input $f$ to the relative displacement $d$ while active damping is implemented are shown in Figure ref:fig:uniaxial_damped_plant_three_active_damping_techniques. +All three active damping techniques yielded similar damped plants. + +#+name: fig:uniaxial_damped_plant_three_active_damping_techniques +#+caption: Obtained damped transfer function from $f$ to $d$ for the three damping techniques. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_damped_plant_three_active_damping_techniques_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_damped_plant_three_active_damping_techniques_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_damped_plant_three_active_damping_techniques_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_damped_plant_three_active_damping_techniques_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_damped_plant_three_active_damping_techniques_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_damped_plant_three_active_damping_techniques_pz.png]] +#+end_subfigure +#+end_figure + +**** Sensitivity to disturbances and Noise Budgeting +<> + +Reasonable gains are chosen for the three active damping strategies such that the nano-hexapod suspension mode is well damped. +The sensitivity to disturbances (direct forces $f_s$, stage vibrations $f_t$ and floor motion $x_f$) for all three active damping techniques are compared in Figure ref:fig:uniaxial_sensitivity_dist_active_damping. +The comparison is done with the nano-hexapod having a stiffness $k_n = 1\,N/\mu m$. + +Several conclusions can be drawn by comparing the obtained sensitivity transfer functions: +- IFF degrades the sensitivity to direct forces on the sample (i.e., the compliance) below the resonance of the nano-hexapod (Figure ref:fig:uniaxial_sensitivity_dist_active_damping_fs). + This is a well-known effect of using IFF for vibration isolation [[cite:&collette15_sensor_fusion_method_high_perfor]]. +- RDC degrades the sensitivity to stage vibrations around the nano-hexapod's resonance as compared to the other two methods (Figure ref:fig:uniaxial_sensitivity_dist_active_damping_ft). + This is because the equivalent damper in parallel with the actuator (see Figure ref:fig:uniaxial_active_damping_rdc_equiv) increases the transmission of the micro-station vibration to the sample which is not the same for the other two active damping strategies. +- both IFF and DVF degrade the sensitivity to floor motion below the resonance of the nano-hexapod (Figure ref:fig:uniaxial_sensitivity_dist_active_damping_xf). + +#+name: fig:uniaxial_sensitivity_dist_active_damping +#+caption: Change of sensitivity to disturbance with all three active damping strategies. $f_s$ the direct forces applied on the sample \subref{fig:uniaxial_sensitivity_dist_active_damping_fs}, $f_t$ disturbances from the micro-station stages \subref{fig:uniaxial_sensitivity_dist_active_damping_ft} and $x_f$ the floor motion \subref{fig:uniaxial_sensitivity_dist_active_damping_fs} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_active_damping_fs}Direct forces} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_active_damping_fs.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_active_damping_ft}$\mu\text{-station}$ disturbances} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_active_damping_ft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_active_damping_xf}Floor motion} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_active_damping_xf.png]] +#+end_subfigure +#+end_figure + +From the amplitude spectral density of the disturbances (computed in Section ref:sec:uniaxial_disturbances) and the sensitivity to disturbances estimated using the three active damping strategies, a noise budget can be calculated. +The cumulative amplitude spectrum of the distance $d$ with all three active damping techniques is shown in Figure ref:fig:uniaxial_cas_active_damping and compared with the open-loop case. +All three active damping methods give similar results. + +#+name: fig:uniaxial_cas_active_damping +#+caption: Comparison of the cumulative amplitude spectrum (CAS) of the distance $d$ for all three active damping techniques (OL in black, IFF in blue, RDC in red and DVF in yellow). +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_cas_active_damping_soft}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.36\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_cas_active_damping_soft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_cas_active_damping_mid}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_cas_active_damping_mid.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_cas_active_damping_stiff}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_cas_active_damping_stiff.png]] +#+end_subfigure +#+end_figure + +**** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: + +Three active damping strategies have been studied for the acrfull:nass. +Equivalent mechanical representations were derived in Section ref:ssec:uniaxial_active_damping_strategies which are helpful for understanding the specific effects of each strategy. +The plant dynamics were then compared in Section ref:ssec:uniaxial_active_damping_plants and were found to all have alternating poles and zeros, which helps in the design of the active damping controller. +However, this property is not guaranteed for DVF. +The achievable damping of the nano-hexapod suspension mode can be made as large as possible for all three active damping techniques (Section ref:ssec:uniaxial_active_damping_achievable_damping). +Even some damping can be applied to some micro-station modes in specific cases. +The obtained damped plants were found to be similar. +The damping strategies were then compared in terms of disturbance reduction in Section ref:ssec:uniaxial_active_damping_sensitivity_disturbances. + +The comparison between the three active damping strategies is summarized in Table ref:tab:comp_active_damping. +It is difficult to conclude on the best active damping strategy for the acrfull:nass yet. +Which one will be used will be determined by the use of more accurate models and will depend on which is the easiest to implement in practice + +#+name: tab:comp_active_damping +#+caption: Comparison of active damping strategies +#+attr_latex: :environment tabularx :width 0.9\linewidth :align Xccc +#+attr_latex: :center t :booktabs t :font \scriptsize +| | *IFF* | *RDC* | *DVF* | +|---------------------+-----------------------------+---------------------------+---------------------------------| +| *Sensor* | Force sensor | Relative motion sensor | Inertial sensor | +|---------------------+-----------------------------+---------------------------+---------------------------------| +| *Damping* | Up to critical | Up to critical | Up to Critical | +|---------------------+-----------------------------+---------------------------+---------------------------------| +| *Robustness* | Requires collocation | Requires collocation | Impacted by geophone resonances | +|---------------------+-----------------------------+---------------------------+---------------------------------| +| $f_s$ *Disturbance* | $\nearrow$ at low frequency | $\searrow$ near resonance | $\searrow$ near resonance | +| $f_t$ *Disturbance* | $\searrow$ near resonance | $\nearrow$ near resonance | $\searrow$ near resonance | +| $x_f$ *Disturbance* | $\nearrow$ at low frequency | $\searrow$ near resonance | $\nearrow$ at low frequency | *** Position Feedback Controller -*** Effect of support compliance +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/uniaxial_6_hac_lac.m +:END: +<> +**** Introduction :ignore: +The gls:haclac architecture is shown in Figure ref:fig:uniaxial_hac_lac_architecture. +This corresponds to a /two step/ control strategy: +- First, an active damping controller $\bm{K}_{\textsc{LAC}}$ is implemented (see Section ref:sec:uniaxial_active_damping). + It allows the vibration level to be reduced, and it also makes the damped plant (transfer function from $u^{\prime}$ to $y$) easier to control than the undamped plant (transfer function from $u$ to $y$). + This is called /low authority/ control as it only slightly affects the system poles [[cite:&preumont18_vibrat_contr_activ_struc_fourt_edition Chapter 14.6]]. +- Then, a position controller $\bm{K}_{\textsc{HAC}}$ is implemented and is used to control the position $d$. + This is called /high authority/ control as it usually relocates the system's poles. -- *goal*: make the nano-hexapod independent of the support compliance -- Simple 2DoF model -- Generalized to any support compliance -- *conclusion*: frequency of nano-hexapod resonances should be lower than first suspension mode of the support +In this section, Integral Force Feedback is used as the Low Authority Controller (the other two damping strategies would lead to the same conclusions here). +This control architecture applied to the uniaxial model is shown in Figure ref:fig:uniaxial_hac_lac_model. -*** Effect of payload dynamics +#+name: fig:uniaxial_hac_lac +#+caption: acrfull:haclac +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_hac_lac_architecture}Typical HAC-LAC Architecture} +#+attr_latex: :options {0.54\textwidth} +#+begin_subfigure +#+attr_latex: :width 1.0\linewidth +[[file:figs/uniaxial_hac_lac_architecture.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_hac_lac_model}Uniaxial model with HAC-IFF strategy} +#+attr_latex: :options {0.45\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_hac_lac_model.png]] +#+end_subfigure +#+end_figure -- *goal*: be robust to a change of payload -- Simple 2DoF model -- Generalized to any payload dynamics +**** Damped Plant Dynamics +<> +The damped plants obtained for the three nano-hexapod stiffnesses are shown in Figure ref:fig:uniaxial_hac_iff_damped_plants_masses. +For $k_n = 0.01\,N/\mu m$ and $k_n = 1\,N/\mu m$, the dynamics are quite simple and can be well approximated by a second-order plant (Figures ref:fig:uniaxial_hac_iff_damped_plants_masses_soft and ref:fig:uniaxial_hac_iff_damped_plants_masses_mid). +However, this is not the case for the stiff nano-hexapod ($k_n = 100\,N/\mu m$) where two modes can be seen (Figure ref:fig:uniaxial_hac_iff_damped_plants_masses_stiff). +This is due to the interaction between the micro-station (modeled modes at 70Hz, 140Hz and 320Hz) and the nano-hexapod. +This effect will be further explained in Section ref:sec:uniaxial_support_compliance. + +#+name: fig:uniaxial_hac_iff_damped_plants_masses +#+caption: Obtained damped plant using Integral Force Feedback for three sample masses +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_hac_iff_damped_plants_masses_soft}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.36\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_hac_iff_damped_plants_masses_soft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_hac_iff_damped_plants_masses_mid}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_hac_iff_damped_plants_masses_mid.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_hac_iff_damped_plants_masses_stiff}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_hac_iff_damped_plants_masses_stiff.png]] +#+end_subfigure +#+end_figure + +**** Position Feedback Controller +<> + +The objective is to design high-authority feedback controllers for the three nano-hexapods. +This controller must be robust to the change of sample's mass (from $1\,\text{kg}$ up to $50\,\text{kg}$). + +The required feedback bandwidths were estimated in Section ref:sec:uniaxial_noise_budgeting: +- $f_b \approx 10\,\text{Hz}$ for the soft nano-hexapod ($k_n = 0.01\,N/\mu m$). + Near this frequency, the plants (shown in Figure ref:fig:uniaxial_hac_iff_damped_plants_masses_soft) are equivalent to a mass line (i.e., slope of $-40\,dB/\text{dec}$ and a phase of -180 degrees). + The gain of this mass line can vary up to a fact $\approx 5$ (suspended mass from $16\,kg$ up to $65\,kg$). + This means that the designed controller will need to have /large gain margins/ to be robust to the change of sample's mass. +- $\approx 50\,\text{Hz}$ for the relatively stiff nano-hexapod ($k_n = 1\,N/\mu m$). + Similar to the soft nano-hexapod, the plants near the crossover frequency are equivalent to a mass line (Figure ref:fig:uniaxial_hac_iff_damped_plants_masses_mid). + It will probably be easier to have a little bit more bandwidth in this configuration to be further away from the nano-hexapod suspension mode. +- $\approx 100\,\text{Hz}$ for the stiff nano-hexapod ($k_n = 100\,N/\mu m$). + Contrary to the two first nano-hexapod stiffnesses, here the plants have more complex dynamics near the desired crossover frequency (see Figure ref:fig:uniaxial_hac_iff_damped_plants_masses_stiff). + The micro-station is not stiff enough to have a clear stiffness line at this frequency. + Therefore, there is both a change of phase and gain depending on the sample mass. + This makes the robust design of the controller more complicated. + +Position feedback controllers are designed for each nano-hexapod such that it is stable for all considered sample masses with similar stability margins (see Nyquist plots in Figure ref:fig:uniaxial_nyquist_hac). +An arbitrary minimum modulus margin of $0.25$ was chosen when designing the controllers. +These high authority controllers are generally composed of a lag at low frequency for disturbance rejection, a lead to increase the phase margin near the crossover frequency, and a low pass filter to increase the robustness to high frequency dynamics. +The controllers used for the three nano-hexapod are shown in Equation eqref:eq:uniaxial_hac_formulas, and the parameters used are summarized in Table ref:tab:uniaxial_feedback_controller_parameters. + +\begin{subequations} \label{eq:uniaxial_hac_formulas} +\begin{align} +K_{\text{soft}}(s) &= g \cdot + \underbrace{\frac{s + \omega_0}{s + \omega_i}}_{\text{lag}} \cdot + \underbrace{\frac{1 + \frac{s}{\omega_c/\sqrt{a}}}{1 + \frac{s}{\omega_c \sqrt{a}}}}_{\text{lead}} \cdot + \underbrace{\frac{1}{1 + \frac{s}{\omega_l}}}_{\text{LPF}} \\ +K_{\text{mid}}(s) &= g \cdot + \underbrace{\left(\frac{s + \omega_0}{s + \omega_i}\right)^2}_{\text{2 lags}} \cdot + \underbrace{\frac{1 + \frac{s}{\omega_c/\sqrt{a}}}{1 + \frac{s}{\omega_c \sqrt{a}}}}_{\text{lead}} \cdot + \underbrace{\frac{1}{1 + \frac{s}{\omega_l}}}_{\text{LPF}} \\ +K_{\text{stiff}}(s) &= g \cdot + \underbrace{\left(\frac{1}{s + \omega_i}\right)^2}_{\text{2 lags}} \cdot + \underbrace{\left(\frac{1 + \frac{s}{\omega_c/\sqrt{a}}}{1 + \frac{s}{\omega_c \sqrt{a}}}\right)^2}_{\text{2 leads}} \cdot + \underbrace{\frac{1}{1 + \frac{s}{\omega_l}}}_{\text{LPF}} +\end{align} +\end{subequations} + +#+name: tab:uniaxial_feedback_controller_parameters +#+caption: Parameters used for the position feedback controllers +#+attr_latex: :environment tabularx :width \linewidth :align lXXX +#+attr_latex: :center t :booktabs t +| | *Soft* | *Moderately stiff* | *Stiff* | +|--------+-------------------------------------------+--------------------------------------------+------------------------------------------| +| *Gain* | $g = 4 \cdot 10^5$ | $g = 3 \cdot 10^6$ | $g = 6 \cdot 10^{12}$ | +| *Lead* | $a = 5$, $\omega_c = 20\,Hz$ | $a = 4$, $\omega_c = 70\,Hz$ | $a = 5$, $\omega_c = 100\,Hz$ | +| *Lag* | $\omega_0 = 5\,Hz$, $\omega_i = 0.01\,Hz$ | $\omega_0 = 20\,Hz$, $\omega_i = 0.01\,Hz$ | $\omega_i = 0.01\,Hz$ | +| *LPF* | $\omega_l = 200\,Hz$ | $\omega_l = 300\,Hz$ | $\omega_l = 500\,Hz$ | + +The loop gains corresponding to the designed high authority controllers for the three nano-hexapod are shown in Figure ref:fig:uniaxial_loop_gain_hac. +We can see that for the soft and moderately stiff nano-hexapod (Figures ref:fig:uniaxial_nyquist_hac_vc and ref:fig:uniaxial_nyquist_hac_md), the crossover frequency varies significantly with the sample mass. +This is because the crossover frequency corresponds to the mass line of the plant (whose gain is inversely proportional to the mass). +For the stiff nano-hexapod (Figure ref:fig:uniaxial_nyquist_hac_pz), it was difficult to achieve the desired closed-loop bandwidth of $\approx 100\,\text{Hz}$. +A crossover frequency of $\approx 65\,\text{Hz}$ was achieved instead. + +Note that these controllers were not designed using any optimization methods. +The goal is to have a first estimation of the attainable performance. + +#+name: fig:uniaxial_nyquist_hac +#+caption: Nyquist Plot for the high authority controller. The minimum modulus margin is illustrated by a black circle. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_nyquist_hac_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_nyquist_hac_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_nyquist_hac_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_nyquist_hac_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_nyquist_hac_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_nyquist_hac_pz.png]] +#+end_subfigure +#+end_figure + +#+name: fig:uniaxial_loop_gain_hac +#+caption: Loop gain for the High Authority Controller +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_loop_gain_hac_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_loop_gain_hac_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_loop_gain_hac_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_loop_gain_hac_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_loop_gain_hac_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_loop_gain_hac_pz.png]] +#+end_subfigure +#+end_figure + +**** Closed-Loop Noise Budgeting +<> + +The high authority position feedback controllers are then implemented and the closed-loop sensitivities to disturbances are computed. +These are compared with the open-loop and damped plants cases in Figure ref:fig:uniaxial_sensitivity_dist_hac_lac for just one configuration (moderately stiff nano-hexapod with 25kg sample's mass). +As expected, the sensitivity to disturbances decreased in the controller bandwidth and slightly increased outside this bandwidth. + +#+name: fig:uniaxial_sensitivity_dist_hac_lac +#+caption: Change of sensitivity to disturbances with LAC and with acrshort:haclac. A nano-Hexapod with $k_n = 1\,N/\mu m$ and a sample mass of $25\,kg$ is used. $f_s$ the direct forces applied on the sample \subref{fig:uniaxial_sensitivity_dist_hac_lac_fs}, $f_t$ disturbances from the micro-station stages \subref{fig:uniaxial_sensitivity_dist_hac_lac_ft} and $x_f$ the floor motion \subref{fig:uniaxial_sensitivity_dist_hac_lac_fs} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_hac_lac_fs}Direct forces} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_hac_lac_fs.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_hac_lac_ft}$\mu\text{-station}$ disturbances} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_hac_lac_ft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sensitivity_dist_hac_lac_xf}Floor motion} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_sensitivity_dist_hac_lac_xf.png]] +#+end_subfigure +#+end_figure + +The cumulative amplitude spectrum of the motion $d$ is computed for all nano-hexapod configurations, all sample masses and in the open-loop (OL), damped (IFF) and position controlled (HAC-IFF) cases. +The results are shown in Figure ref:fig:uniaxial_cas_hac_lac. +Obtained root mean square values of the distance $d$ are better for the soft nano-hexapod ($\approx 25\,nm$ to $\approx 35\,nm$ depending on the sample's mass) than for the stiffer nano-hexapod (from $\approx 30\,nm$ to $\approx 70\,nm$). + +#+name: fig:uniaxial_cas_hac_lac +#+caption: Cumulative Amplitude Spectrum for all three nano-hexapod stiffnesses - Comparison of OL, IFF and acrshort:haclac cases +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_cas_hac_lac_soft}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.36\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_cas_hac_lac_soft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_cas_hac_lac_mid}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_cas_hac_lac_mid.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_cas_hac_lac_stiff}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_cas_hac_lac_stiff.png]] +#+end_subfigure +#+end_figure + +**** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: + +On the basis of the open-loop noise budgeting made in Section ref:sec:uniaxial_noise_budgeting, the closed-loop bandwidth required to obtain a vibration level of $\approx 20\,nm\,\text{RMS}$ was estimated. +To achieve such bandwidth, the acrshort:haclac strategy was followed, which consists of first using an active damping controller (studied in Section ref:sec:uniaxial_active_damping) and then adding a high authority position feedback controller. + +In this section, feedback controllers were designed in such a way that the required closed-loop bandwidth was reached while being robust to changes in the payload mass. +The attainable vibration control performances were estimated for the three nano-hexapod stiffnesses and were found to be close to the required values. +However, the stiff nano-hexapod ($k_n = 100\,N/\mu m$) is requiring the largest feedback bandwidth, which is difficult to achieve while being robust to the change of payload mass. +A slight advantage can be given to the soft nano-hexapod as it requires less feedback bandwidth while providing better stability results. + +*** Effect of limited micro-station compliance +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/uniaxial_7_support_compliance.m +:END: +<> +**** Introduction :ignore: + +In this section, the impact of the compliance of the support (i.e., the micro-station) on the dynamics of the plant to control is studied. +This is a critical point because the dynamics of the micro-station is complex, depends on the considered direction (see measurements in Figure ref:fig:uniaxial_comp_frf_meas_model) and may vary with position and time. +It would be much better to have a plant dynamics that is not impacted by the micro-station. + +Therefore, the objective of this section is to obtain some guidance for the design of a nano-hexapod that will not be impacted by the complex micro-station dynamics. +To study this, two models are used (Figure ref:fig:uniaxial_support_compliance_models). +The first one consists of the nano-hexapod directly fixed on top of the granite, thus neglecting any support compliance (Figure ref:fig:uniaxial_support_compliance_nano_hexapod_only). +The second one consists of the nano-hexapod fixed on top of the micro-station having some limited compliance (Figure ref:fig:uniaxial_support_compliance_test_system) + +#+name: fig:uniaxial_support_compliance_models +#+caption: Models used to study the effect of limited support compliance +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_support_compliance_nano_hexapod_only}Nano-Hexapod fixed directly on the Granite} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_support_compliance_nano_hexapod_only.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_support_compliance_test_system}Nano-Hexapod fixed on top of the Micro-Station} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_support_compliance_test_system.png]] +#+end_subfigure +#+end_figure + +**** Neglected support compliance + +The limited compliance of the micro-station is first neglected and the uniaxial model shown in Figure ref:fig:uniaxial_support_compliance_nano_hexapod_only is used. +The nano-hexapod mass (including the payload) is set at $20\,\text{kg}$ and three hexapod stiffnesses are considered, such that their resonance frequencies are at $\omega_{n} = 10\,\text{Hz}$, $\omega_{n} = 70\,\text{Hz}$ and $\omega_{n} = 400\,\text{Hz}$. +Obtained transfer functions from $F$ to $L^\prime$ (shown in Figure ref:fig:uniaxial_effect_support_compliance_neglected) are simple second-order low-pass filters. +When neglecting the support compliance, a large feedback bandwidth can be achieved for all three nano-hexapods. + +#+name: fig:uniaxial_effect_support_compliance_neglected +#+caption: Obtained transfer functions from $F$ to $L^{\prime}$ when neglecting support compliance +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_neglected_soft}$\omega_{n} \ll \omega_{\mu}$} +#+attr_latex: :options {0.36\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_neglected_soft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_neglected_mid}$\omega_{n} = \omega_{\mu}$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_neglected_mid.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_neglected_stiff}$\omega_{n} \gg \omega_{\mu}$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_neglected_stiff.png]] +#+end_subfigure +#+end_figure + +**** Effect of support compliance on $L/F$ + +Some support compliance is now added and the model shown in Figure ref:fig:uniaxial_support_compliance_test_system is used. +The parameters of the support (i.e., $m_{\mu}$, $c_{\mu}$ and $k_{\mu}$) are chosen to match the vertical mode at $70\,\text{Hz}$ seen on the micro-station (Figure ref:fig:uniaxial_comp_frf_meas_model). +The transfer functions from $F$ to $L$ (i.e., control of the relative motion of the nano-hexapod) and from $L$ to $d$ (i.e., control of the position between the nano-hexapod and the fixed granite) can then be computed. + +When the relative displacement of the nano-hexapod $L$ is controlled (dynamics shown in Figure ref:fig:uniaxial_effect_support_compliance_dynamics), having a stiff nano-hexapod (i.e., with a suspension mode at higher frequency than the mode of the support) makes the dynamics less affected by the limited support compliance (Figure ref:fig:uniaxial_effect_support_compliance_dynamics_stiff). +This is why it is very common to have stiff piezoelectric stages fixed at the very top of positioning stages. +In such a case, the control of the piezoelectric stage using its integrated metrology (typically capacitive sensors) is quite simple as the plant is not much affected by the dynamics of the support on which it is fixed. +# TODO - Add references of such stations with piezo stages on top + +If a soft nano-hexapod is used, the support dynamics appears in the dynamics between $F$ and $L$ (see Figure ref:fig:uniaxial_effect_support_compliance_dynamics_soft) which will impact the control robustness and performance. + +#+name: fig:uniaxial_effect_support_compliance_dynamics +#+caption: Effect of the support compliance on the transfer functions from $F$ to $L$ +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_soft}$\omega_{n} \ll \omega_{\mu}$} +#+attr_latex: :options {0.36\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_dynamics_soft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_mid}$\omega_{n} = \omega_{\mu}$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_dynamics_mid.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_stiff}$\omega_{n} \gg \omega_{\mu}$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_dynamics_stiff.png]] +#+end_subfigure +#+end_figure + +**** Effect of support compliance on $d/F$ + +When the motion to be controlled is the relative displacement $d$ between the granite and the nano-hexapod's top platform (which is the case for the acrshort:nass), the effect of the support compliance on the plant dynamics is opposite to that previously observed. +Indeed, using a "soft" nano-hexapod (i.e., with a suspension mode at lower frequency than the mode of the support) makes the dynamics less affected by the support dynamics (Figure ref:fig:uniaxial_effect_support_compliance_dynamics_d_soft). +Conversely, if a "stiff" nano-hexapod is used, the support dynamics appears in the plant dynamics (Figure ref:fig:uniaxial_effect_support_compliance_dynamics_d_stiff). + +#+name: fig:uniaxial_effect_support_compliance_dynamics_d +#+caption: Effect of the support compliance on the transfer functions from $F$ to $d$ +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_d_soft}$\omega_{n} \ll \omega_{\mu}$} +#+attr_latex: :options {0.36\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_dynamics_d_soft.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_d_mid}$\omega_{n} = \omega_{\mu}$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_dynamics_d_mid.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_d_stiff}$\omega_{n} \gg \omega_{\mu}$} +#+attr_latex: :options {0.30\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_effect_support_compliance_dynamics_d_stiff.png]] +#+end_subfigure +#+end_figure + +**** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: + +To study the impact of support compliance on plant dynamics, simple models shown in Figure ref:fig:uniaxial_support_compliance_models were used. +Depending on the quantity to be controlled ($L$ or $d$ in Figure ref:fig:uniaxial_support_compliance_test_system) and on the relative location of $\omega_\nu$ (suspension mode of the nano-hexapod) with respect to $\omega_\mu$ (modes of the support), the interaction between the support and the nano-hexapod dynamics can drastically change (observations made are summarized in Table ref:tab:uniaxial_effect_compliance). + +For the acrfull:nass, having the suspension mode of the nano-hexapod at lower frequencies than the suspension modes of the micro-station would make the plant less dependent on the micro-station dynamics, and therefore easier to control. +Note that the observations made in this section are also affected by the ratio between the support mass $m_{\mu}$ and the nano-hexapod mass $m_n$ (the effect is more pronounced when the ratio $m_n/m_{\mu}$ increases). + +#+name: tab:uniaxial_effect_compliance +#+caption: Impact of the support dynamics on the plant dynamics +#+attr_latex: :environment tabularx :width 0.4\linewidth :align Xccc +#+attr_latex: :center t :booktabs t +| | $\omega_{\nu} \ll \omega_{\mu}$ | $\omega_{\nu} \approx \omega_{\mu}$ | $\omega_{\nu} \gg \omega_{\mu}$ | +|--------+---------------------------------+-------------------------------------+---------------------------------| +| $d/F$ | small | large | large | +| $L/F$ | large | large | small | + +*** Effect of Payload Dynamics +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/uniaxial_8_payload_dynamics.m +:END: +<> + +**** Introduction :ignore: + +Up to this section, the sample was modeled as a mass rigidly fixed to the nano-hexapod (as shown in Figure ref:fig:uniaxial_paylaod_dynamics_rigid_schematic). +However, such a sample may present internal dynamics, and its fixation to the nano-hexapod may have limited stiffness. +To study the effect of the sample dynamics, the models shown in Figure ref:fig:uniaxial_paylaod_dynamics_schematic are used. + +#+name: fig:uniaxial_payload_dynamics_models +#+caption: Models used to study the effect of payload dynamics +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_paylaod_dynamics_rigid_schematic}Rigid payload} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_paylaod_dynamics_rigid_schematic.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_paylaod_dynamics_schematic}Payload with some flexibility} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/uniaxial_paylaod_dynamics_schematic.png]] +#+end_subfigure +#+end_figure + +**** Impact on plant dynamics +<> + +To study the impact of the flexibility between the nano-hexapod and the payload, a first (reference) model with a rigid payload, as shown in Figure ref:fig:uniaxial_paylaod_dynamics_rigid_schematic is used. +Then "flexible" payload whose model is shown in Figure ref:fig:uniaxial_paylaod_dynamics_schematic are considered. +The resonances of the payload are set at $\omega_s = 20\,\text{Hz}$ and at $\omega_s = 200\,\text{Hz}$ while its mass is either $m_s = 1\,\text{kg}$ or $m_s = 50\,\text{kg}$. + +The transfer functions from the nano-hexapod force $f$ to the motion of the nano-hexapod top platform are computed for all the above configurations and are compared for a soft Nano-Hexapod ($k_n = 0.01\,N/\mu m$) in Figure ref:fig:uniaxial_payload_dynamics_soft_nano_hexapod. +It can be seen that the mode of the sample adds an anti-resonance followed by a resonance (zero/pole pattern). +The frequency of the anti-resonance corresponds to the "free" resonance of the sample $\omega_s = \sqrt{k_s/m_s}$. +The flexibility of the sample also changes the high frequency gain (the mass line is shifted from $\frac{1}{(m_n + m_s)s^2}$ to $\frac{1}{m_ns^2}$). + +#+name: fig:uniaxial_payload_dynamics_soft_nano_hexapod +#+caption: Effect of the payload dynamics on the soft Nano-Hexapod. Light sample \subref{fig:uniaxial_payload_dynamics_soft_nano_hexapod_light}, and heavy sample \subref{fig:uniaxial_payload_dynamics_soft_nano_hexapod_heavy} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_payload_dynamics_soft_nano_hexapod_light}$k_n = 0.01\,N/\mu m$, $m_s = 1\,kg$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/uniaxial_payload_dynamics_soft_nano_hexapod_light.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_payload_dynamics_soft_nano_hexapod_heavy}$k_n = 0.01\,N/\mu m$, $m_s = 50\,kg$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/uniaxial_payload_dynamics_soft_nano_hexapod_heavy.png]] +#+end_subfigure +#+end_figure + +The same transfer functions are now compared when using a stiff nano-hexapod ($k_n = 100\,N/\mu m$) in Figure ref:fig:uniaxial_payload_dynamics_stiff_nano_hexapod. +In this case, the sample's resonance $\omega_s$ is smaller than the nano-hexapod resonance $\omega_n$. +This changes the zero/pole pattern to a pole/zero pattern (the frequency of the zero still being equal to $\omega_s$). +Even though the added sample's flexibility still shifts the high frequency mass line as for the soft nano-hexapod, the dynamics below the nano-hexapod resonance is much less impacted, even when the sample mass is high and when the sample resonance is at low frequency (see yellow curve in Figure ref:fig:uniaxial_payload_dynamics_stiff_nano_hexapod_heavy). + +#+name: fig:uniaxial_payload_dynamics_stiff_nano_hexapod +#+caption: Effect of the payload dynamics on the stiff Nano-Hexapod. Light sample \subref{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_light}, and heavy sample \subref{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_heavy} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_light}$k_n = 100\,N/\mu m$, $m_s = 1\,kg$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/uniaxial_payload_dynamics_stiff_nano_hexapod_light.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_heavy}$k_n = 100\,N/\mu m$, $m_s = 50\,kg$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/uniaxial_payload_dynamics_stiff_nano_hexapod_heavy.png]] +#+end_subfigure +#+end_figure + +**** Impact on close loop performances +<> + +Having a flexibility between the measured position (i.e., the top platform of the nano-hexapod) and the point-of-interest to be positioned relative to the x-ray may also impact the closed-loop performance (i.e., the remaining sample's vibration). + +To estimate whether the sample flexibility is critical for the closed-loop position stability of the sample, the model shown in Figure ref:fig:uniaxial_sample_flexibility_control is used. +This is the same model that was used in Section ref:sec:uniaxial_position_control but with an added flexibility between the nano-hexapod and the sample (considered sample modes are at $\omega_s = 20\,\text{Hz}$ and $\omega_n = 200\,\text{Hz}$). +In this case, the measured (i.e., controlled) distance $d$ is no longer equal to the real performance index (the distance $y$). + +#+name: fig:uniaxial_sample_flexibility_control +#+caption: Uniaxial model considering some flexibility between the nano-hexapod top platform and the sample. In this case, the measured and controlled distance $d$ is different from the distance $y$ which is the real performance index +#+RESULTS: +[[file:figs/uniaxial_sample_flexibility_control.png]] + +The system dynamics is computed and IFF is applied using the same gains as those used in Section ref:sec:uniaxial_active_damping. +Due to the collocation between the nano-hexapod and the force sensor used for IFF, the damped plants are still stable and similar damping values are obtained than when considering a rigid sample. +The High Authority Controllers used in Section ref:sec:uniaxial_position_control are then implemented on the damped plants. +The obtained closed-loop systems are stable, indicating good robustness. + +Finally, closed-loop noise budgeting is computed for the obtained closed-loop system, and the cumulative amplitude spectrum of $d$ and $y$ are shown in Figure ref:fig:uniaxial_sample_flexibility_noise_budget_y. +The cumulative amplitude spectrum of the measured distance $d$ (Figure ref:fig:uniaxial_sample_flexibility_noise_budget_d) shows that the added flexibility at the sample location has very little effect on the control performance. +However, the cumulative amplitude spectrum of the distance $y$ (Figure ref:fig:uniaxial_sample_flexibility_noise_budget_y) shows that the stability of $y$ is degraded when the sample flexibility is considered and is degraded as $\omega_s$ is lowered. + +What happens is that above $\omega_s$, even though the motion $d$ can be controlled perfectly, the sample's mass is "isolated" from the motion of the nano-hexapod and the control on $y$ is not effective. + +#+name: fig:uniaxial_sample_flexibility_noise_budget +#+caption: Cumulative Amplitude Spectrum of the distances $d$ and $y$. The effect of the sample's flexibility does not affect much $d$ but is detrimental to the stability of $y$. A sample mass $m_s = 1\,\text{kg}$ and a nano-hexapod stiffness of $100\,N/\mu m$ are used for the simulations. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sample_flexibility_noise_budget_d}Cumulative Amplitude Spectrum of $d$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_sample_flexibility_noise_budget_d.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:uniaxial_sample_flexibility_noise_budget_y}Cumulative Amplitude Spectrum of $y$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/uniaxial_sample_flexibility_noise_budget_y.png]] +#+end_subfigure +#+end_figure + +**** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: + +Payload dynamics is usually a major concern when designing a positioning system. +In this section, the impact of the sample dynamics on the plant was found to vary with the sample mass and the relative resonance frequency of the sample $\omega_s$ and of the nano-hexapod $\omega_n$. +The larger the sample mass, the larger the effect (i.e., change of high frequency gain, appearance of additional resonances and anti-resonances). +A zero/pole pattern is observed if $\omega_s > \omega_n$ and a pole/zero pattern if $\omega_s > \omega_n$. +Such additional dynamics can induce stability issues depending on their position relative to the desired feedback bandwidth, as explained in [[cite:&rankers98_machin Section 4.2]]. +The general conclusion is that the stiffer the nano-hexapod, the less it is impacted by the payload's dynamics, which would make the feedback controller more robust to a change of payload. +This is why high-bandwidth soft positioning stages are usually restricted to constant and calibrated payloads (CD-player, lithography machines, isolation system for gravitational wave detectors, ...), whereas stiff positioning systems are usually used when the control must be robust to a change of payload's mass (stiff piezo nano-positioning stages for instance). + +Having some flexibility between the measurement point and the point of interest (i.e., the sample point to be position on the x-ray) also degrades the position stability as shown in Section ref:ssec:uniaxial_payload_dynamics_effect_stability. +Therefore, it is important to take special care when designing sampling environments, especially if a soft nano-hexapod is used. *** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: +<> -** COPY Effect of rotation -# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A2-nass-rotating-3dof-model/nass-rotating-3dof-model.org][NASS - Rotating 3DoF Model]] +# TODO - Make a table summarizing the findings +In this study, a uniaxial model of the nano-active-stabilization-system was tuned from both dynamical measurements (Section ref:sec:uniaxial_micro_station_model) and from disturbances measurements (Section ref:sec:uniaxial_disturbances). + +Three active damping techniques can be used to critically damp the nano-hexapod resonances (Section ref:sec:uniaxial_active_damping). +However, this model does not allow the determination of which one is most suited to this application (a comparison of the three active damping techniques is done in Table ref:tab:comp_active_damping). + +Position feedback controllers have been developed for three considered nano-hexapod stiffnesses (Section ref:sec:uniaxial_position_control). +These controllers were shown to be robust to the change of sample's masses, and to provide good rejection of disturbances. +Having a soft nano-hexapod makes the plant dynamics easier to control (because its dynamics is decoupled from the micro-station dynamics, see Section ref:sec:uniaxial_support_compliance) and requires less position feedback bandwidth to fulfill the requirements. +The moderately stiff nano-hexapod ($k_n = 1\,N/\mu m$) is requiring a higher feedback bandwidth, but still gives acceptable results. +However, the stiff nano-hexapod is the most complex to control and gives the worst positioning performance. + +** Effect of rotation *** Introduction :ignore: -Papers: -- [[cite:dehaeze20_activ_dampin_rotat_platf_integ_force_feedb]] -- [[cite:dehaeze21_activ_dampin_rotat_platf_using]] +An important aspect of the acrfull:nass is that the nano-hexapod continuously rotates around a vertical axis, whereas the external metrology is not. +Such rotation induces gyroscopic effects that may impact the system dynamics and obtained performance. +To study these effects, a model of a rotating suspended platform is first presented (Section ref:sec:rotating_system_description) +This model is simple enough to be able to derive its dynamics analytically and to understand its behavior, while still allowing the capture of important physical effects in play. + +acrfull:iff is then applied to the rotating platform, and it is shown that the unconditional stability of acrshort:iff is lost due to the gyroscopic effects induced by the rotation (Section ref:sec:rotating_iff_pure_int). +Two modifications of the Integral Force Feedback are then proposed. +The first modification involves adding a high-pass filter to the acrshort:iff controller (Section ref:sec:rotating_iff_pseudo_int). +It is shown that the acrshort:iff controller is stable for some gain values, and that damping can be added to the suspension modes. +The optimal high-pass filter cut-off frequency is computed. +The second modification consists of adding a stiffness in parallel to the force sensors (Section ref:sec:rotating_iff_parallel_stiffness). +Under certain conditions, the unconditional stability of the IFF controller is regained. +The optimal parallel stiffness is then computed. +This study of adapting acrshort:iff for the damping of rotating platforms has been the subject of two published papers [[cite:&dehaeze20_activ_dampin_rotat_platf_integ_force_feedb;&dehaeze21_activ_dampin_rotat_platf_using]]. + +It is then shown that acrfull:rdc is less affected by gyroscopic effects (Section ref:sec:rotating_relative_damp_control). +Once the optimal control parameters for the three tested active damping techniques are obtained, they are compared in terms of achievable damping, damped plant and closed-loop compliance and transmissibility (Section ref:sec:rotating_comp_act_damp). + +The previous analysis was applied to three considered nano-hexapod stiffnesses ($k_n = 0.01\,N/\mu m$, $k_n = 1\,N/\mu m$ and $k_n = 100\,N/\mu m$) and the optimal active damping controller was obtained in each case (Section ref:sec:rotating_nano_hexapod). +Up until this section, the study was performed on a very simplistic model that only captures the rotation aspect, and the model parameters were not tuned to correspond to the NASS. +In the last section (Section ref:sec:rotating_nass), a model of the micro-station is added below the suspended platform (i.e. the nano-hexapod) with a rotating spindle and parameters tuned to match the NASS dynamics. +The goal is to determine whether the rotation imposes performance limitation on the NASS. + +#+name: fig:rotating_overview +#+caption: Overview of this chapter's organization. Sections are indicated by the red circles. +#+attr_latex: :width \linewidth +[[file:figs/rotating_overview.png]] *** System Description and Analysis +:PROPERTIES: +:header-args:matlab+: :tangle matlab/rotating_1_system_description.m +:END: +<> -- x-y-Rz model -- explain why this is representing the NASS -- Equation of motion -- Centrifugal forces, Coriolis +**** Introduction :ignore: +The system used to study gyroscopic effects consists of a 2 degree of freedom translation stage on top of a rotating stage (Figure ref:fig:rotating_3dof_model_schematic). +The rotating stage is supposed to be ideal, meaning it induces a perfect rotation $\theta(t) = \Omega t$ where $\Omega$ is the rotational speed in $\si{\radian\per\s}$. +The suspended platform consists of two orthogonal actuators, each represented by three elements in parallel: a spring with a stiffness $k$ in $\si{\newton\per\meter}$, a dashpot with a damping coefficient $c$ in $\si{\newton\per(\meter\per\second)}$ and an ideal force source $F_u, F_v$. +A payload with a mass $m$ in $\si{\kilo\gram}$, is mounted on the (rotating) suspended platform. +Two reference frames are used: an /inertial/ frame $(\vec{i}_x, \vec{i}_y, \vec{i}_z)$ and a /uniform rotating/ frame $(\vec{i}_u, \vec{i}_v, \vec{i}_w)$ rigidly fixed on top of the rotating stage with $\vec{i}_w$ aligned with the rotation axis. +The position of the payload is represented by $(d_u, d_v, 0)$ expressed in the rotating frame. +After the dynamics of this system is studied, the objective will be to dampen the two suspension modes of the payload while the rotating stage performs a constant rotation. -#+begin_src latex :file 2dof_rotating_system.pdf - \begin{tikzpicture} - % Angle - \def\thetau{25} - - % Rotational Stage - \draw[fill=black!60!white] (0, 0) circle (4.3); - \draw[fill=black!40!white] (0, 0) circle (3.8); - - % Label - \node[anchor=north west, rotate=\thetau] at (-2.5, 2.5) {\small Rotating Stage}; - - % Rotating Scope - \begin{scope}[rotate=\thetau] - % Rotating Frame - \draw[fill=black!20!white] (-2.6, -2.6) rectangle (2.6, 2.6); - % Label - \node[anchor=north west, rotate=\thetau] at (-2.6, 2.6) {\small Suspended Platform}; - - % Mass - \draw[fill=white] (-1, -1) rectangle (1, 1); - % Label - \node[anchor=south west, rotate=\thetau] at (-1, -1) {\small Payload}; - - % Attached Points - \node[] at (-1, 0){$\bullet$}; - \draw[] (-1, 0) -- ++(-0.2, 0) coordinate(cu); - \draw[] ($(cu) + (0, -0.8)$) coordinate(actu) -- ($(cu) + (0, 0.8)$) coordinate(ku); - \node[] at (0, -1){$\bullet$}; - \draw[] (0, -1) -- ++(0, -0.2) coordinate(cv); - \draw[] ($(cv) + (-0.8, 0)$)coordinate(kv) -- ($(cv) + (0.8, 0)$) coordinate(actv); - - % Spring and Actuator for U - \draw[actuator={0.6}{0.2}] (actu) -- node[above=0.1, rotate=\thetau]{$F_u$} (actu-|-2.6,0); - \draw[spring=0.2] (ku) -- node[above=0.1, rotate=\thetau]{$k$} (ku-|-2.6,0); - \draw[damper={8}{8}] (cu) -- node[above left=0.2 and -0.1, rotate=\thetau]{$c$} (cu-|-2.6,0); - - \draw[actuator={0.6}{0.2}] (actv) -- node[left, rotate=\thetau]{$F_v$} (actv|-0,-2.6); - \draw[spring=0.2] (kv) -- node[left, rotate=\thetau]{$k$} (kv|-0,-2.6); - \draw[damper={8}{8}] (cv) -- node[left=0.1, rotate=\thetau]{$c$} (cv|-0,-2.6); - \end{scope} - - % Inertial Frame - \draw[->] (-4, -4) -- ++(2, 0) node[below]{$\vec{i}_x$}; - \draw[->] (-4, -4) -- ++(0, 2) node[left]{$\vec{i}_y$}; - \draw[fill, color=black] (-4, -4) circle (0.06); - \node[draw, circle, inner sep=0pt, minimum size=0.3cm, label=left:$\vec{i}_z$] at (-4, -4){}; - - \draw[->] (0, 0) node[above left, rotate=\thetau]{$\vec{i}_w$} -- ++(\thetau:2) node[above, rotate=\thetau]{$\vec{i}_u$}; - \draw[->] (0, 0) -- ++(\thetau+90:2) node[left, rotate=\thetau]{$\vec{i}_v$}; - \draw[fill, color=black] (0,0) circle (0.06); - \node[draw, circle, inner sep=0pt, minimum size=0.3cm] at (0, 0){}; - \draw[dashed] (0, 0) -- ++(2, 0); - \draw[] (1.5, 0) arc (0:\thetau:1.5) node[midway, right]{$\theta$}; - - \draw[->] (3.5, 0) arc (0:40:3.5) node[midway, left]{$\Omega$}; - \end{tikzpicture} -#+end_src - -#+name: fig:2dof_rotating_system -#+caption: Mass spring damper model of an X-Y stage on top of a rotating stage +#+name: fig:rotating_3dof_model_schematic +#+caption: Schematic of the studied system +#+attr_latex: :scale 0.8 #+RESULTS: -[[file:figs/2dof_rotating_system.png]] +[[file:figs/rotating_3dof_model_schematic.png]] + +**** Equations of motion and transfer functions +To obtain the equations of motion for the system represented in Figure ref:fig:rotating_3dof_model_schematic, the Lagrangian equation eqref:eq:rotating_lagrangian_equations is used. +$L = T - V$ is the Lagrangian, $T$ the kinetic coenergy, $V$ the potential energy, $D$ the dissipation function, and $Q_i$ the generalized force associated with the generalized variable $\begin{bmatrix}q_1 & q_2\end{bmatrix} = \begin{bmatrix}d_u & d_v\end{bmatrix}$. +These terms are derived in eqref:eq:rotating_energy_functions_lagrange. +Note that the equation of motion corresponding to constant rotation along $\vec{i}_w$ is disregarded because this motion is imposed by the rotation stage. + +\begin{equation}\label{eq:rotating_lagrangian_equations} + \frac{d}{dt} \left( \frac{\partial L}{\partial \dot{q}_i} \right) + \frac{\partial D}{\partial \dot{q}_i} - \frac{\partial L}{\partial q_i} = Q_i +\end{equation} + +\begin{equation} \label{eq:rotating_energy_functions_lagrange} + \begin{aligned} + T &= \frac{1}{2} m \left( ( \dot{d}_u - \Omega d_v )^2 + ( \dot{d}_v + \Omega d_u )^2 \right), \quad Q_1 = F_u, \quad Q_2 = F_v, \\ + V &= \frac{1}{2} k \big( {d_u}^2 + {d_v}^2 \big), \quad D = \frac{1}{2} c \big( \dot{d}_u{}^2 + \dot{d}_v{}^2 \big) + \end{aligned} +\end{equation} + +Substituting equations eqref:eq:rotating_energy_functions_lagrange into equation eqref:eq:rotating_lagrangian_equations for both generalized coordinates gives two coupled differential equations eqref:eq:rotating_eom_coupled_1 and eqref:eq:rotating_eom_coupled_2. + +\begin{subequations} \label{eq:rotating_eom_coupled} + \begin{align} + m \ddot{d}_u + c \dot{d}_u + ( k - m \Omega^2 ) d_u &= F_u + 2 m \Omega \dot{d}_v \label{eq:rotating_eom_coupled_1} \\ + m \ddot{d}_v + c \dot{d}_v + ( k \underbrace{-\,m \Omega^2}_{\text{Centrif.}} ) d_v &= F_v \underbrace{-\,2 m \Omega \dot{d}_u}_{\text{Coriolis}} \label{eq:rotating_eom_coupled_2} + \end{align} +\end{subequations} + +The uniform rotation of the system induces two /gyroscopic effects/ as shown in equation eqref:eq:rotating_eom_coupled: +- /Centrifugal forces/: that can be seen as an added /negative stiffness/ $- m \Omega^2$ along $\vec{i}_u$ and $\vec{i}_v$ +- /Coriolis forces/: that adds /coupling/ between the two orthogonal directions. +One can verify that without rotation ($\Omega = 0$), the system becomes equivalent to two /uncoupled/ one degree of freedom mass-spring-damper systems. + +To study the dynamics of the system, the two differential equations of motions eqref:eq:rotating_eom_coupled are converted into the Laplace domain and the $2 \times 2$ transfer function matrix $\mathbf{G}_d$ from $\begin{bmatrix}F_u & F_v\end{bmatrix}$ to $\begin{bmatrix}d_u & d_v\end{bmatrix}$ in equation eqref:eq:rotating_Gd_mimo_tf is obtained. +The four transfer functions in $\mathbf{G}_d$ are shown in equation eqref:eq:rotating_Gd_indiv_el. + +\begin{equation}\label{eq:rotating_Gd_mimo_tf} + \begin{bmatrix} d_u \\ d_v \end{bmatrix} = \mathbf{G}_d \begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} + +\begin{subequations}\label{eq:rotating_Gd_indiv_el} +\begin{align} + \mathbf{G}_{d}(1,1) &= \mathbf{G}_{d}(2,2) = \frac{ms^2 + cs + k - m \Omega^2}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2} \\ + \mathbf{G}_{d}(1,2) &= -\mathbf{G}_{d}(2,1) = \frac{2 m \Omega s}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2} +\end{align} +\end{subequations} + +To simplify the analysis, the undamped natural frequency $\omega_0$ and the damping ratio $\xi$ defined in eqref:eq:rotating_xi_and_omega are used instead. +The elements of the transfer function matrix $\mathbf{G}_d$ are described by equation eqref:eq:rotating_Gd_w0_xi_k. +\begin{equation} \label{eq:rotating_xi_and_omega} + \omega_0 = \sqrt{\frac{k}{m}} \text{ in } \si{\radian\per\second}, \quad \xi = \frac{c}{2 \sqrt{k m}} +\end{equation} + +\begin{subequations} \label{eq:rotating_Gd_w0_xi_k} + \begin{align} + \mathbf{G}_{d}(1,1) &= \frac{\frac{1}{k} \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \\ + \mathbf{G}_{d}(1,2) &= \frac{\frac{1}{k} \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} + \end{align} +\end{subequations} + +**** System Poles: Campbell Diagram +The poles of $\mathbf{G}_d$ are the complex solutions $p$ of equation eqref:eq:rotating_poles (i.e. the roots of its denominator). + +\begin{equation}\label{eq:rotating_poles} + \left( \frac{p^2}{{\omega_0}^2} + 2 \xi \frac{p}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{p}{\omega_0} \right)^2 = 0 +\end{equation} + +Supposing small damping ($\xi \ll 1$), two pairs of complex conjugate poles $[p_{+}, p_{-}]$ are obtained as shown in equation eqref:eq:rotating_pole_values. + +\begin{subequations} \label{eq:rotating_pole_values} + \begin{align} + p_{+} &= - \xi \omega_0 \left( 1 + \frac{\Omega}{\omega_0} \right) \pm j \omega_0 \left( 1 + \frac{\Omega}{\omega_0} \right) \\ + p_{-} &= - \xi \omega_0 \left( 1 - \frac{\Omega}{\omega_0} \right) \pm j \omega_0 \left( 1 - \frac{\Omega}{\omega_0} \right) + \end{align} +\end{subequations} + +The real and complex parts of these two pairs of complex conjugate poles are represented in Figure ref:fig:rotating_campbell_diagram as a function of the rotational speed $\Omega$. +As the rotational speed increases, $p_{+}$ goes to higher frequencies and $p_{-}$ goes to lower frequencies (Figure ref:fig:rotating_campbell_diagram_imag). +The system becomes unstable for $\Omega > \omega_0$ as the real part of $p_{-}$ is positive (Figure ref:fig:rotating_campbell_diagram_real). +Physically, the negative stiffness term $-m\Omega^2$ induced by centrifugal forces exceeds the spring stiffness $k$. + +#+name: fig:rotating_campbell_diagram +#+caption: Campbell diagram - Real \subref{fig:rotating_campbell_diagram_real} and Imaginary \subref{fig:rotating_campbell_diagram_imag} parts of the poles as a function of the rotating velocity $\Omega$. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_campbell_diagram_real}Real part} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/rotating_campbell_diagram_real.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_campbell_diagram_imag}Imaginary part} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/rotating_campbell_diagram_imag.png]] +#+end_subfigure +#+end_figure + +**** Identify Generic Dynamics :noexport: + +**** System Dynamics: Effect of rotation +The system dynamics from actuator forces $[F_u, F_v]$ to the relative motion $[d_u, d_v]$ is identified for several rotating velocities. +Looking at the transfer function matrix $\mathbf{G}_d$ in equation eqref:eq:rotating_Gd_w0_xi_k, one can see that the two diagonal (direct) terms are equal and that the two off-diagonal (coupling) terms are opposite. +The bode plots of these two terms are shown in Figure ref:fig:rotating_bode_plot for several rotational speeds $\Omega$. +These plots confirm the expected behavior: the frequencies of the two pairs of complex conjugate poles are further separated as $\Omega$ increases. +For $\Omega > \omega_0$, the low-frequency pair of complex conjugate poles $p_{-}$ becomes unstable (shown be the 180 degrees phase lead instead of phase lag). + +#+name: fig:rotating_bode_plot +#+caption: Bode plot of the direct \subref{fig:rotating_bode_plot_direct} and coupling \subref{fig:rotating_bode_plot_direct} terms for several rotating velocities +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_bode_plot_direct}Direct terms: $d_u/F_u$, $d_v/F_v$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_bode_plot_direct.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_bode_plot_coupling}Coupling terms: $d_u/F_v$, $d_v/F_u$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_bode_plot_coupling.png]] +#+end_subfigure +#+end_figure *** Integral Force Feedback +:PROPERTIES: +:header-args:matlab+: :tangle matlab/rotating_2_iff_pure_int.m +:END: +<> -- Control diagram -- Root Locus: unstable with pure IFF +**** Introduction :ignore: +The goal is now to damp the two suspension modes of the payload using an active damping strategy while the rotating stage performs a constant rotation. +As was explained with the uniaxial model, such an active damping strategy is key to both reducing the magnification of the response in the vicinity of the resonances cite:collette11_review_activ_vibrat_isolat_strat and to make the plant easier to control for the high authority controller. -*** IFF with an High Pass Filter +Many active damping techniques have been developed over the years, such as Positive Position Feedback (PPF) cite:lin06_distur_atten_precis_hexap_point,fanson90_posit_posit_feedb_contr_large_space_struc, Integral Force Feedback (IFF) cite:preumont91_activ and Direct Velocity Feedback (DVF) cite:karnopp74_vibrat_contr_using_semi_activ_force_gener,serrand00_multic_feedb_contr_isolat_base_excit_vibrat,preumont02_force_feedb_versus_accel_feedb. +In [[cite:&preumont91_activ]], the IFF control scheme has been proposed, where a force sensor, a force actuator, and an integral controller are used to increase the damping of a mechanical system. +When the force sensor is collocated with the actuator, the open-loop transfer function has alternating poles and zeros, which guarantees the stability of the closed-loop system cite:preumont02_force_feedb_versus_accel_feedb. +It was later shown that this property holds for multiple collated actuator/sensor pairs cite:preumont08_trans_zeros_struc_contr_with. + +The main advantages of IFF over other active damping techniques are the guaranteed stability even in the presence of flexible dynamics, good performance, and robustness properties cite:preumont02_force_feedb_versus_accel_feedb. + +Several improvements to the classical IFF have been proposed, such as adding a feed-through term to increase the achievable damping cite:teo15_optim_integ_force_feedb_activ_vibrat_contr or adding a high-pass filter to recover the loss of compliance at low-frequency cite:chesne16_enhan_dampin_flexib_struc_using_force_feedb. +Recently, an $\mathcal{H}_\infty$ optimization criterion has been used to derive optimal gains for the IFF controller cite:zhao19_optim_integ_force_feedb_contr. \par + +However, none of these studies have been applied to rotating systems. +In this section, the acrshort:iff strategy is applied on the rotating suspended platform, and it is shown that gyroscopic effects alter the system dynamics and that IFF cannot be applied as is. + +**** System and Equations of motion +To apply Integral Force Feedback, two force sensors are added in series with the actuators (Figure ref:fig:rotating_3dof_model_schematic_iff). +Two identical controllers $K_F$ described by eqref:eq:rotating_iff_controller are then used to feedback each of the sensed force to its associated actuator. + +\begin{equation}\label{eq:rotating_iff_controller} + K_{F}(s) = g \cdot \frac{1}{s} +\end{equation} + +#+name: fig:rotating_iff_pure_int +#+caption: Integral Force Feedback applied to the suspended rotating platform. The damper $c$ in \subref{fig:rotating_3dof_model_schematic_iff} is omitted for readability. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_3dof_model_schematic_iff}System with added Force Sensor in series with the actuators} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_3dof_model_schematic_iff.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_diagram}Control diagram} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/rotating_iff_diagram.png]] +#+end_subfigure +#+end_figure + +The forces $\begin{bmatrix}f_u & f_v\end{bmatrix}$ measured by the two force sensors represented in Figure ref:fig:rotating_3dof_model_schematic_iff are described by equation eqref:eq:rotating_measured_force. + +\begin{equation}\label{eq:rotating_measured_force} + \begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} = + \begin{bmatrix} F_u \\ F_v \end{bmatrix} - (c s + k) + \begin{bmatrix} d_u \\ d_v \end{bmatrix} +\end{equation} + +The transfer function matrix $\mathbf{G}_{f}$ from actuator forces to measured forces in equation eqref:eq:rotating_Gf_mimo_tf can be obtained by inserting equation eqref:eq:rotating_Gd_w0_xi_k into equation eqref:eq:rotating_measured_force. +Its elements are shown in equation eqref:eq:rotating_Gf. + +\begin{equation}\label{eq:rotating_Gf_mimo_tf} + \begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} = \mathbf{G}_{f} \begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} + +\begin{subequations}\label{eq:rotating_Gf} + \begin{align} + \mathbf{G}_{f}(1,1) &= \mathbf{G}_{f}(2,2) = \frac{\left( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} \right) \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right) + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \label{eq:rotating_Gf_diag_tf} \\ + \mathbf{G}_{f}(1,2) &= -\mathbf{G}_{f}(2,1) = \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \label{eq:rotating_Gf_off_diag_tf} + \end{align} +\end{subequations} + +The zeros of the diagonal terms of $\mathbf{G}_f$ in equation eqref:eq:rotating_Gf_diag_tf are computed, and neglecting the damping for simplicity, two complex conjugated zeros $z_{c}$ eqref:eq:rotating_iff_zero_cc, and two real zeros $z_{r}$ eqref:eq:rotating_iff_zero_real are obtained. + +\begin{subequations} + \begin{align} + z_c &= \pm j \omega_0 \sqrt{\frac{1}{2} \sqrt{8 \frac{\Omega^2}{{\omega_0}^2} + 1} + \frac{\Omega^2}{{\omega_0}^2} + \frac{1}{2} } \label{eq:rotating_iff_zero_cc} \\ + z_r &= \pm \omega_0 \sqrt{\frac{1}{2} \sqrt{8 \frac{\Omega^2}{{\omega_0}^2} + 1} - \frac{\Omega^2}{{\omega_0}^2} - \frac{1}{2} } \label{eq:rotating_iff_zero_real} + \end{align} +\end{subequations} + +It is interesting to see that the frequency of the pair of complex conjugate zeros $z_c$ in equation eqref:eq:rotating_iff_zero_cc always lies between the frequency of the two pairs of complex conjugate poles $p_{-}$ and $p_{+}$ in equation eqref:eq:rotating_pole_values. +This is what usually gives the unconditional stability of IFF when collocated force sensors are used. + +However, for non-null rotational speeds, the two real zeros $z_r$ in equation eqref:eq:rotating_iff_zero_real are inducing a /non-minimum phase behavior/. +This can be seen in the Bode plot of the diagonal terms (Figure ref:fig:rotating_iff_bode_plot_effect_rot) where the low-frequency gain is no longer zero while the phase stays at $\SI{180}{\degree}$. + +The low-frequency gain of $\mathbf{G}_f$ increases with the rotational speed $\Omega$ as shown in equation eqref:eq:rotating_low_freq_gain_iff_plan. +This can be explained as follows: a constant actuator force $F_u$ induces a small displacement of the mass $d_u = \frac{F_u}{k - m\Omega^2}$ (Hooke's law considering the negative stiffness induced by the rotation). +This small displacement then increases the centrifugal force $m\Omega^2d_u = \frac{\Omega^2}{{\omega_0}^2 - \Omega^2} F_u$ which is then measured by the force sensors. + +\begin{equation}\label{eq:rotating_low_freq_gain_iff_plan} + \lim_{\omega \to 0} \left| \mathbf{G}_f (j\omega) \right| = \begin{bmatrix} + \frac{\Omega^2}{{\omega_0}^2 - \Omega^2} & 0 \\ + 0 & \frac{\Omega^2}{{\omega_0}^2 - \Omega^2} +\end{bmatrix} +\end{equation} + +**** Effect of rotation speed on IFF plant dynamics +The transfer functions from actuator forces $[F_u,\ F_v]$ to the measured force sensors $[f_u,\ f_v]$ are identified for several rotating velocities and are shown in Figure ref:fig:rotating_iff_bode_plot_effect_rot. +As expected from the derived equations of motion: +- when $\Omega < \omega_0$: the low-frequency gain is no longer zero and two (non-minimum phase) real zeros appear at low-frequencies. + The low-frequency gain increases with $\Omega$. + A pair of (minimum phase) complex conjugate zeros appears between the two complex conjugate poles, which are split further apart as $\Omega$ increases. +- when $\omega_0 < \Omega$: the low-frequency pole becomes unstable. + +#+name: fig:rotating_iff_bode_plot_effect_rot +#+caption: Effect of the rotation velocity on the bode plot of the direct terms \subref{fig:rotating_iff_bode_plot_effect_rot_direct} and on the IFF root locus \subref{fig:rotating_root_locus_iff_pure_int} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_bode_plot_effect_rot_direct}Direct terms: $d_u/F_u$, $d_v/F_v$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_bode_plot_effect_rot_direct.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_root_locus_iff_pure_int}Root Locus} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/rotating_root_locus_iff_pure_int.png]] +#+end_subfigure +#+end_figure + +**** Decentralized Integral Force Feedback +The control diagram for decentralized acrshort:iff is shown in Figure ref:fig:rotating_iff_diagram. +The decentralized acrshort:iff controller $\bm{K}_F$ corresponds to a diagonal controller with integrators eqref:eq:rotating_Kf_pure_int. + +\begin{equation} \label{eq:rotating_Kf_pure_int} +\begin{aligned} + \mathbf{K}_{F}(s) &= \begin{bmatrix} K_{F}(s) & 0 \\ 0 & K_{F}(s) \end{bmatrix} \\ + K_{F}(s) &= g \cdot \frac{1}{s} +\end{aligned} +\end{equation} + +To determine how the acrshort:iff controller affects the poles of the closed-loop system, a Root Locus plot (Figure ref:fig:rotating_root_locus_iff_pure_int) is constructed as follows: the poles of the closed-loop system are drawn in the complex plane as the controller gain $g$ varies from $0$ to $\infty$ for the two controllers $K_{F}$ simultaneously. +As explained in cite:preumont08_trans_zeros_struc_contr_with,skogestad07_multiv_feedb_contr, the closed-loop poles start at the open-loop poles (shown by $\tikz[baseline=-0.6ex] \node[cross out, draw=black, minimum size=1ex, line width=2pt, inner sep=0pt, outer sep=0pt] at (0, 0){};$) for $g = 0$ and coincide with the transmission zeros (shown by $\tikz[baseline=-0.6ex] \draw[line width=2pt, inner sep=0pt, outer sep=0pt] (0,0) circle[radius=3pt];$) as $g \to \infty$. + +Whereas collocated IFF is usually associated with unconditional stability cite:preumont91_activ, this property is lost due to gyroscopic effects as soon as the rotation velocity becomes non-null. +This can be seen in the Root Locus plot (Figure ref:fig:rotating_root_locus_iff_pure_int) where poles corresponding to the controller are bound to the right half plane implying closed-loop system instability. +Physically, this can be explained as follows: at low frequencies, the loop gain is huge due to the pure integrator in $K_{F}$ and the finite gain of the plant (Figure ref:fig:rotating_iff_bode_plot_effect_rot). +The control system is thus cancels the spring forces, which makes the suspended platform not capable to hold the payload against centrifugal forces, hence the instability. + +*** Integral Force Feedback with a High-Pass Filter +:PROPERTIES: +:header-args:matlab+: :tangle matlab/rotating_3_iff_hpf.m +:END: +<> + +**** Introduction :ignore: +As explained in the previous section, the instability of the IFF controller applied to the rotating system is due to the high gain of the integrator at low-frequency. +To limit the low-frequency controller gain, a acrfull:hpf can be added to the controller, as shown in equation eqref:eq:rotating_iff_lhf. +This is equivalent to slightly shifting the controller pole to the left along the real axis. +This modification of the IFF controller is typically performed to avoid saturation associated with the pure integrator cite:preumont91_activ,marneffe07_activ_passiv_vibrat_isolat_dampin_shunt_trans. +This is however not the reason why this high-pass filter is added here. + +\begin{equation}\label{eq:rotating_iff_lhf} + \boxed{K_{F}(s) = g \cdot \frac{1}{s} \cdot \underbrace{\frac{s/\omega_i}{1 + s/\omega_i}}_{\text{HPF}} = g \cdot \frac{1}{s + \omega_i}} +\end{equation} + +**** Modified Integral Force Feedback Controller +The Integral Force Feedback Controller is modified such that instead of using pure integrators, pseudo integrators (i.e. low pass filters) are used eqref:eq:rotating_iff_lhf where $\omega_i$ characterize the frequency down to which the signal is integrated. +The loop gains ($K_F(s)$ times the direct dynamics $f_u/F_u$) with and without the added HPF are shown in Figure ref:fig:rotating_iff_modified_loop_gain. +The effect of the added HPF limits the low-frequency gain to finite values as expected. + +The Root Locus plots for the decentralized acrshort:iff with and without the acrshort:hpf are displayed in Figure ref:fig:rotating_iff_root_locus_hpf_large. +With the added acrshort:hpf, the poles of the closed-loop system are shown to be stable up to some value of the gain $g_\text{max}$ given by equation eqref:eq:rotating_gmax_iff_hpf. +It is interesting to note that $g_{\text{max}}$ also corresponds to the controller gain at which the low-frequency loop gain reaches one (for instance the gain $g$ can be increased by a factor $5$ in Figure ref:fig:rotating_iff_modified_loop_gain before the system becomes unstable). + +\begin{equation}\label{eq:rotating_gmax_iff_hpf} + \boxed{g_{\text{max}} = \omega_i \left( \frac{{\omega_0}^2}{\Omega^2} - 1 \right)} +\end{equation} + +#+name: fig:rotating_iff_modified_loop_gain_root_locus +#+caption: Comparison of the IFF with pure integrator and modified IFF with added high-pass filter ($\Omega = 0.1\omega_0$). The loop gain is shown in \subref{fig:rotating_iff_modified_loop_gain} with $\omega_i = 0.1 \omega_0$ and $g = 2$. The root locus is shown in \subref{fig:rotating_iff_root_locus_hpf_large} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_modified_loop_gain}Loop gain} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.8 +[[file:figs/rotating_iff_modified_loop_gain.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_root_locus_hpf_large}Root Locus} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.8 +[[file:figs/rotating_iff_root_locus_hpf_large.png]] +#+end_subfigure +#+end_figure + +**** Optimal IFF with HPF parameters $\omega_i$ and $g$ +Two parameters can be tuned for the modified controller in equation eqref:eq:rotating_iff_lhf: the gain $g$ and the pole's location $\omega_i$. +The optimal values of $\omega_i$ and $g$ are considered here as the values for which the damping of all the closed-loop poles is simultaneously maximized. + +To visualize how $\omega_i$ does affect the attainable damping, the Root Locus plots for several $\omega_i$ are displayed in Figure ref:fig:rotating_root_locus_iff_modified_effect_wi. +It is shown that even though small $\omega_i$ seem to allow more damping to be added to the suspension modes (see Root locus in Figure ref:fig:rotating_root_locus_iff_modified_effect_wi), the control gain $g$ may be limited to small values due to equation eqref:eq:rotating_gmax_iff_hpf. +To study this trade-off, the attainable closed-loop damping ratio $\xi_{\text{cl}}$ is computed as a function of $\omega_i/\omega_0$. +The gain $g_{\text{opt}}$ at which this maximum damping is obtained is also displayed and compared with the gain $g_{\text{max}}$ at which the system becomes unstable (Figure ref:fig:rotating_iff_hpf_optimal_gain). + +For small values of $\omega_i$, the added damping is limited by the maximum allowed control gain $g_{\text{max}}$ (red curve and dashed red curve superimposed in Figure ref:fig:rotating_iff_hpf_optimal_gain) at which point the pole corresponding to the controller becomes unstable. +For larger values of $\omega_i$, the attainable damping ratio decreases as a function of $\omega_i$ as was predicted from the root locus plot of Figure ref:fig:rotating_iff_root_locus_hpf_large. + +#+name: fig:rotating_iff_modified_effect_wi +#+caption: Root Locus for several high-pass filter cut-off frequency \subref{fig:rotating_root_locus_iff_modified_effect_wi}. The achievable damping ratio decreases as $\omega_i$ increases, as confirmed in \subref{fig:rotating_iff_hpf_optimal_gain} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_root_locus_iff_modified_effect_wi}Root Locus} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_root_locus_iff_modified_effect_wi.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_hpf_optimal_gain}Attainable damping ratio $\xi_\text{cl}$ as a function of $\omega_i/\omega_0$. Corresponding control gain $g_\text{opt}$ and $g_\text{max}$ are also shown} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_hpf_optimal_gain.png]] +#+end_subfigure +#+end_figure + +**** Obtained Damped Plant +To study how the parameter $\omega_i$ affects the damped plant, the obtained damped plants for several $\omega_i$ are compared in Figure ref:fig:rotating_iff_hpf_damped_plant_effect_wi_plant. +It can be seen that the low-frequency coupling increases as $\omega_i$ increases. +Therefore, there is a trade-off between achievable damping and added coupling when tuning $\omega_i$. +The same trade-off can be seen between achievable damping and loss of compliance at low-frequency (see Figure ref:fig:rotating_iff_hpf_effect_wi_compliance). + +#+name: fig:rotating_iff_hpf_damped_plant_effect_wi +#+caption: Effect of $\omega_i$ on the damped plant coupling +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_hpf_damped_plant_effect_wi_plant}Obtained plants} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_hpf_damped_plant_effect_wi_plant.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_hpf_effect_wi_compliance}Effect of $\omega_i$ on the compliance} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_hpf_effect_wi_compliance.png]] +#+end_subfigure +#+end_figure *** IFF with a stiffness in parallel with the force sensor +:PROPERTIES: +:header-args:matlab+: :tangle matlab/rotating_4_iff_kp.m +:END: +<> + +**** Introduction :ignore: +In this section it is proposed to add springs in parallel with the force sensors to counteract the negative stiffness induced by the gyroscopic effects. +Such springs are schematically shown in Figure ref:fig:rotating_3dof_model_schematic_iff_parallel_springs where $k_a$ is the stiffness of the actuator and $k_p$ the added stiffness in parallel with the actuator and force sensor. + +#+name: fig:rotating_3dof_model_schematic_iff_parallel_springs +#+caption: Studied system with additional springs in parallel with the actuators and force sensors (shown in red) +#+attr_latex: :scale 0.8 +#+RESULTS: +[[file:figs/rotating_3dof_model_schematic_iff_parallel_springs.png]] + +**** Equations +The forces measured by the two force sensors represented in Figure ref:fig:rotating_3dof_model_schematic_iff_parallel_springs are described by eqref:eq:rotating_measured_force_kp. + +\begin{equation}\label{eq:rotating_measured_force_kp} + \begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} = + \begin{bmatrix} F_u \\ F_v \end{bmatrix} - (c s + k_a) + \begin{bmatrix} d_u \\ d_v \end{bmatrix} +\end{equation} + +To keep the overall stiffness $k = k_a + k_p$ constant, thus not modifying the open-loop poles as $k_p$ is changed, a scalar parameter $\alpha$ ($0 \le \alpha < 1$) is defined to describe the fraction of the total stiffness in parallel with the actuator and force sensor as in eqref:eq:rotating_kp_alpha. + +\begin{equation}\label{eq:rotating_kp_alpha} + k_p = \alpha k, \quad k_a = (1 - \alpha) k +\end{equation} + +After the equations of motion are derived and transformed in the Laplace domain, the transfer function matrix $\mathbf{G}_k$ in Eq. eqref:eq:rotating_Gk_mimo_tf is computed. +Its elements are shown in Eqs. eqref:eq:rotating_Gk_diag and eqref:eq:rotating_Gk_off_diag. + +\begin{equation}\label{eq:rotating_Gk_mimo_tf} + \begin{bmatrix} f_u \\ f_v \end{bmatrix} = + \mathbf{G}_k + \begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} + +\begin{subequations}\label{eq:rotating_Gk} +\begin{align} +\mathbf{G}_{k}(1,1) &= \mathbf{G}_{k}(2,2) = \frac{\big( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} + \alpha \big) \big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big) + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2}{\big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big)^2 + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2} \label{eq:rotating_Gk_diag} \\ +\mathbf{G}_{k}(1,2) &= -\mathbf{G}_{k}(2,1) = \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 - \alpha \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \label{eq:rotating_Gk_off_diag} +\end{align} +\end{subequations} + +Comparing $\mathbf{G}_k$ in eqref:eq:rotating_Gk with $\mathbf{G}_f$ in eqref:eq:rotating_Gf shows that while the poles of the system remain the same, the zeros of the diagonal terms change. +The two real zeros $z_r$ in eqref:eq:rotating_iff_zero_real that were inducing a non-minimum phase behavior are transformed into two complex conjugate zeros if the condition in eqref:eq:rotating_kp_cond_cc_zeros holds. +Thus, if the added /parallel stiffness/ $k_p$ is higher than the /negative stiffness/ induced by centrifugal forces $m \Omega^2$, the dynamics from the actuator to its collocated force sensor will show /minimum phase behavior/. + +\begin{equation}\label{eq:rotating_kp_cond_cc_zeros} + \boxed{\alpha > \frac{\Omega^2}{{\omega_0}^2} \quad \Leftrightarrow \quad k_p > m \Omega^2} +\end{equation} + +**** Identify plant with parallel stiffnesses :noexport: + +**** Effect of parallel stiffness on the IFF plant +The IFF plant (transfer function from $[F_u, F_v]$ to $[f_u, f_v]$) is identified without parallel stiffness $k_p = 0$, with a small parallel stiffness $k_p < m \Omega^2$ and with a large parallel stiffness $k_p > m \Omega^2$. +Bode plots of the obtained dynamics are shown in Figure ref:fig:rotating_iff_effect_kp. +The two real zeros for $k_p < m \Omega^2$ are transformed into two complex conjugate zeros for $k_p > m \Omega^2$. +In that case, the system shows alternating complex conjugate poles and zeros as what is the case in the non-rotating case. + +Figure ref:fig:rotating_iff_kp_root_locus shows the Root Locus plots for $k_p = 0$, $k_p < m \Omega^2$ and $k_p > m \Omega^2$ when $K_F$ is a pure integrator, as shown in Eq. eqref:eq:rotating_Kf_pure_int. +It is shown that if the added stiffness is higher than the maximum negative stiffness, the poles of the closed-loop system are bounded on the (stable) left half-plane, and hence the unconditional stability of acrshort:iff is recovered. + +#+name: fig:rotating_iff_plant_effect_kp +#+caption: Effect of parallel stiffness on the IFF plant +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_effect_kp}Bode plot of $G_{k}(1,1) = f_u/F_u$ without parallel spring, with parallel spring stiffness $k_p < m \Omega^2$ and $k_p > m \Omega^2$, $\Omega = 0.1 \omega_0$} +#+attr_latex: :options {0.55\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_effect_kp.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_kp_root_locus}Root Locus for IFF without parallel spring, with small parallel spring and with large parallel spring} +#+attr_latex: :options {0.44\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_kp_root_locus.png]] +#+end_subfigure +#+end_figure + +**** Effect of $k_p$ on the attainable damping +Even though the parallel stiffness $k_p$ has no impact on the open-loop poles (as the overall stiffness $k$ is kept constant), it has a large impact on the transmission zeros. +Moreover, as the attainable damping is generally proportional to the distance between poles and zeros cite:preumont18_vibrat_contr_activ_struc_fourt_edition, the parallel stiffness $k_p$ is expected to have some impact on the attainable damping. +To study this effect, Root Locus plots for several parallel stiffnesses $k_p > m \Omega^2$ are shown in Figure ref:fig:rotating_iff_kp_root_locus_effect_kp. +The frequencies of the transmission zeros of the system increase with an increase in the parallel stiffness $k_p$ (thus getting closer to the poles), and the associated attainable damping is reduced. +Therefore, even though the parallel stiffness $k_p$ should be larger than $m \Omega^2$ for stability reasons, it should not be taken too large as this would limit the attainable damping. +This is confirmed by the Figure ref:fig:rotating_iff_kp_optimal_gain where the attainable closed-loop damping ratio $\xi_{\text{cl}}$ and the associated optimal control gain $g_\text{opt}$ are computed as a function of the parallel stiffness. + +#+name: fig:rotating_iff_optimal_kp +#+caption: Effect of parallel stiffness on the IFF plant +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_kp_root_locus_effect_kp}Root Locus: Effect of parallel stiffness on the attainable damping, $\Omega = 0.1 \omega_0$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/rotating_iff_kp_root_locus_effect_kp.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_kp_optimal_gain}Attainable damping ratio $\xi_\text{cl}$ as a function of the parallel stiffness $k_p$. The corresponding control gain $g_\text{opt}$ is also shown. Values for $k_p < m\Omega^2$ are not shown because the system is unstable.} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/rotating_iff_kp_optimal_gain.png]] +#+end_subfigure +#+end_figure + +**** Damped plant +The parallel stiffness are chosen to be $k_p = 2 m \Omega^2$ and the damped plant is computed. +The damped and undamped transfer functions from $F_u$ to $d_u$ are compared in Figure ref:fig:rotating_iff_kp_added_hpf_damped_plant. +Even though the two resonances are well damped, the IFF changes the low-frequency behavior of the plant, which is usually not desired. +This is because "pure" integrators are used which are inducing large low-frequency loop gains. + +To lower the low-frequency gain, a high-pass filter is added to the IFF controller (which is equivalent as shifting the controller pole to the left in the complex plane): +\begin{equation} + K_{\text{IFF}}(s) = g\frac{1}{\omega_i + s} \begin{bmatrix} + 1 & 0 \\ + 0 & 1 +\end{bmatrix} +\end{equation} + +To determine how the high-pass filter impacts the attainable damping, the controller gain $g$ is kept constant while $\omega_i$ is changed, and the minimum damping ratio of the damped plant is computed. +The obtained damping ratio as a function of $\omega_i/\omega_0$ (where $\omega_0$ is the resonance of the system without rotation) is shown in Figure ref:fig:rotating_iff_kp_added_hpf_effect_damping. +It is shown that the attainable damping ratio reduces as $\omega_i$ is increased (same conclusion than in Section ref:sec:rotating_iff_pseudo_int). +Let's choose $\omega_i = 0.1 \cdot \omega_0$ and compare the obtained damped plant again with the undamped and with the "pure" IFF in Figure ref:fig:rotating_iff_kp_added_hpf_damped_plant. +The added high-pass filter gives almost the same damping properties to the suspension while exhibiting good low-frequency behavior. + +#+name: fig:rotating_iff_optimal_hpf +#+caption:Effect of high-pass filter cut-off frequency on the obtained damping +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_kp_added_hpf_effect_damping}Reduced damping ratio with increased cut-off frequency $\omega_i$} +#+attr_latex: :options {0.34\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.95 +[[file:figs/rotating_iff_kp_added_hpf_effect_damping.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_kp_added_hpf_damped_plant}Damped plant with the parallel stiffness, effect of the added HPF} +#+attr_latex: :options {0.65\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.95 +[[file:figs/rotating_iff_kp_added_hpf_damped_plant.png]] +#+end_subfigure +#+end_figure *** Relative Damping Control +:PROPERTIES: +:header-args:matlab+: :tangle matlab/rotating_5_rdc.m +:END: +<> + +**** Introduction :ignore: +To apply a "Relative Damping Control" strategy, relative motion sensors are added in parallel with the actuators as shown in Figure ref:fig:rotating_3dof_model_schematic_rdc. +Two controllers $K_d$ are used to feed back the relative motion to the actuator. +These controllers are in principle pure derivators ($K_d = s$), but to be implemented in practice they are usually replaced by a high-pass filter eqref:eq:rotating_rdc_controller. + +\begin{equation}\label{eq:rotating_rdc_controller} +K_d(s) = g \cdot \frac{s}{s + \omega_d} +\end{equation} + +#+name: fig:rotating_3dof_model_schematic_rdc +#+caption: System with relative motion sensor and decentralized "relative damping control" applied. +#+attr_latex: :scale 0.8 +#+RESULTS: +[[file:figs/rotating_3dof_model_schematic_rdc.png]] + +**** Equations of motion +Let's note $\bm{G}_d$ the transfer function between actuator forces and measured relative motion in parallel with the actuators eqref:eq:rotating_rdc_plant_matrix. +The elements of $\bm{G}_d$ were derived in Section ref:sec:rotating_system_description are shown in eqref:eq:rotating_rdc_plant_elements. + +\begin{equation}\label{eq:rotating_rdc_plant_matrix} + \begin{bmatrix} d_u \\ d_v \end{bmatrix} = \mathbf{G}_d \begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} + +\begin{subequations}\label{eq:rotating_rdc_plant_elements} + \begin{align} + \mathbf{G}_{d}(1,1) &= \mathbf{G}_{d}(2,2) = \frac{\frac{1}{k} \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \\ + \mathbf{G}_{d}(1,2) &= -\mathbf{G}_{d}(2,1) = \frac{\frac{1}{k} \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} + \end{align} +\end{subequations} + +Neglecting the damping for simplicity ($\xi \ll 1$), the direct terms have two complex conjugate zeros between the two pairs of complex conjugate poles eqref:eq:rotating_rdc_zeros_poles. +Therefore, for $\Omega < \sqrt{k/m}$ (i.e. stable system), the transfer functions for Relative Damping Control have alternating complex conjugate poles and zeros. + +\begin{equation}\label{eq:rotating_rdc_zeros_poles} + z = \pm j \sqrt{\omega_0^2 - \omega^2}, \quad p_1 = \pm j (\omega_0 - \omega), \quad p_2 = \pm j (\omega_0 + \omega) +\end{equation} + +**** Decentralized Relative Damping Control +The transfer functions from $[F_u,\ F_v]$ to $[d_u,\ d_v]$ were identified for several rotating velocities in Section ref:sec:rotating_system_description and are shown in Figure ref:fig:rotating_bode_plot (page pageref:fig:rotating_bode_plot). + +To see if large damping can be added with Relative Damping Control, the root locus is computed (Figure ref:fig:rotating_rdc_root_locus). +The closed-loop system is unconditionally stable as expected and the poles can be damped as much as desired. + +Let us select a reasonable "Relative Damping Control" gain, and compute the closed-loop damped system. +The open-loop and damped plants are compared in Figure ref:fig:rotating_rdc_damped_plant. +The rotating aspect does not add any complexity to the use of Relative Damping Control. +It does not increase the low-frequency coupling as compared to the Integral Force Feedback. + +#+name: fig:rotating_rdc_result +#+caption: Relative Damping Control. Root Locus \subref{fig:rotating_rdc_root_locus} and obtained damped plant \subref{fig:rotating_rdc_damped_plant} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_rdc_root_locus}Root Locus for Relative Damping Control} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/rotating_rdc_root_locus.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_rdc_damped_plant}Damped plant using Relative Damping Control} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.8 +[[file:figs/rotating_rdc_damped_plant.png]] +#+end_subfigure +#+end_figure *** Comparison of Active Damping Techniques +:PROPERTIES: +:header-args:matlab+: :tangle matlab/rotating_6_act_damp_comparison.m +:END: +<> + +**** Introduction :ignore: +These two proposed IFF modifications and relative damping control are compared in terms of added damping and closed-loop behavior. +For the following comparisons, the cut-off frequency for the added HPF is set to $\omega_i = 0.1 \omega_0$ and the stiffness of the parallel springs is set to $k_p = 5 m \Omega^2$ (corresponding to $\alpha = 0.05$). +These values are chosen one the basis of previous discussions about optimal parameters. + +**** Identify plants :noexport: + +**** Root Locus +Figure ref:fig:rotating_comp_techniques_root_locus shows the Root Locus plots for the two proposed IFF modifications and the relative damping control. +While the two pairs of complex conjugate open-loop poles are identical for both IFF modifications, the transmission zeros are not. +This means that the closed-loop behavior of both systems will differ when large control gains are used. + +The closed-loop poles corresponding to the system with added springs (in red) are bounded to the left half plane implying unconditional stability. +This is not the case for the system in which the controller is augmented with an HPF (in blue). +It is interesting to note that the maximum added damping is very similar for both modified IFF techniques. + +#+name: fig:rotating_comp_techniques +#+caption: Comparison of active damping techniques for rotating platform +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_comp_techniques_root_locus}Root Locus} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_comp_techniques_root_locus.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_comp_techniques_dampled_plants}Damped plants} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_comp_techniques_dampled_plants.png]] +#+end_subfigure +#+end_figure + +**** Obtained Damped Plant +The actively damped plants are computed for the three techniques and compared in Figure ref:fig:rotating_comp_techniques_dampled_plants. +It is shown that while the diagonal (direct) terms of the damped plants are similar for the three active damping techniques, the off-diagonal (coupling) terms are not. +The acrshort:iff strategy is adding some coupling at low-frequency, which may negatively impact the positioning performance. + +**** Transmissibility And Compliance +The proposed active damping techniques are now compared in terms of closed-loop transmissibility and compliance. +The transmissibility is defined as the transfer function from the displacement of the rotating stage along $\vec{i}_x$ to the displacement of the payload along the same direction. +It is used to characterize the amount of vibration is transmitted through the suspended platform to the payload. +The compliance describes the displacement response of the payload to the external forces applied to it. +This is a useful metric when disturbances are directly applied to the payload. +Here, it is defined as the transfer function from external forces applied on the payload along $\vec{i}_x$ to the displacement of the payload along the same direction. + +Very similar results were obtained for the two proposed IFF modifications in terms of transmissibility and compliance (Figure ref:fig:rotating_comp_techniques_trans_compliance). +Using IFF degrades the compliance at low frequencies, whereas using relative damping control degrades the transmissibility at high frequencies. +This is very well known characteristics of these common active damping techniques that hold when applied to rotating platforms. + +#+name: fig:rotating_comp_techniques_trans_compliance +#+caption: Comparison of the obtained transmissibility \subref{fig:rotating_comp_techniques_transmissibility} and compliance \subref{fig:rotating_comp_techniques_compliance} for the three tested active damping techniques +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_comp_techniques_transmissibility}Transmissibility} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_comp_techniques_transmissibility.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_comp_techniques_compliance}Compliance} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_comp_techniques_compliance.png]] +#+end_subfigure +#+end_figure *** Rotating Nano-Hexapod +:PROPERTIES: +:header-args:matlab+: :tangle matlab/rotating_7_nano_hexapod.m +:END: +<> +**** Introduction :ignore: +The previous analysis is now applied to a model representing a rotating nano-hexapod. +Three nano-hexapod stiffnesses are tested as for the uniaxial model: $k_n = \SI{0.01}{\N\per\mu\m}$, $k_n = \SI{1}{\N\per\mu\m}$ and $k_n = \SI{100}{\N\per\mu\m}$. +Only the maximum rotating velocity is here considered ($\Omega = \SI{60}{rpm}$) with the light sample ($m_s = \SI{1}{kg}$) because this is the worst identified case scenario in terms of gyroscopic effects. -*** Nano Active Stabilization System with rotation +**** Identify NASS dynamics :noexport: + +**** Nano-Active-Stabilization-System - Plant Dynamics +For the NASS, the maximum rotating velocity is $\Omega = \SI[parse-numbers=false]{2\pi}{\radian\per\s}$ for a suspended mass on top of the nano-hexapod's actuators equal to $m_n + m_s = \SI{16}{\kilo\gram}$. +The parallel stiffness corresponding to the centrifugal forces is $m \Omega^2 \approx \SI{0.6}{\newton\per\mm}$. + +The transfer functions from the nano-hexapod actuator force $F_u$ to the displacement of the nano-hexapod in the same direction $d_u$ as well as in the orthogonal direction $d_v$ (coupling) are shown in Figure ref:fig:rotating_nano_hexapod_dynamics for all three considered nano-hexapod stiffnesses. +The soft nano-hexapod is the most affected by rotation. +This can be seen by the large shift of the resonance frequencies, and by the induced coupling, which is larger than that for the stiffer nano-hexapods. +The coupling (or interaction) in a MIMO $2 \times 2$ system can be visually estimated as the ratio between the diagonal term and the off-diagonal terms (see corresponding Appendix). + +#+name: fig:rotating_nano_hexapod_dynamics +#+caption: Effect of rotation on the nano-hexapod dynamics. Dashed lines represent plants without rotation, solid lines represent plants at maximum rotating velocity ($\Omega = 60\,\text{rpm}$), and shaded lines are coupling terms at maximum rotating velocity +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nano_hexapod_dynamics_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nano_hexapod_dynamics_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nano_hexapod_dynamics_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nano_hexapod_dynamics_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nano_hexapod_dynamics_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nano_hexapod_dynamics_pz.png]] +#+end_subfigure +#+end_figure + +**** Optimal IFF with a High-Pass Filter +Integral Force Feedback with an added high-pass filter is applied to the three nano-hexapods. +First, the parameters ($\omega_i$ and $g$) of the IFF controller that yield the best simultaneous damping are determined from Figure ref:fig:rotating_iff_hpf_nass_optimal_gain. +The IFF parameters are chosen as follows: +- for $k_n = \SI{0.01}{\N\per\mu\m}$ (Figure ref:fig:rotating_iff_hpf_nass_optimal_gain): $\omega_i$ is chosen such that maximum damping is achieved while the gain is less than half of the maximum gain at which the system is unstable. + This is done to have some control robustness. +- for $k_n = \SI{1}{\N\per\mu\m}$ and $k_n = \SI{100}{\N\per\mu\m}$ (Figure ref:fig:rotating_iff_hpf_nass_optimal_gain_md and ref:fig:rotating_iff_hpf_nass_optimal_gain_pz): the largest $\omega_i$ is chosen such that the obtained damping is $\SI{95}{\percent}$ of the maximum achievable damping. + Large $\omega_i$ is chosen here to limit the loss of compliance and the increase of coupling at low-frequency as shown in Section ref:sec:rotating_iff_pseudo_int. +The obtained IFF parameters and the achievable damping are visually shown by large dots in Figure ref:fig:rotating_iff_hpf_nass_optimal_gain and are summarized in Table ref:tab:rotating_iff_hpf_opt_iff_hpf_params_nass. + +#+name: fig:rotating_iff_hpf_nass_optimal_gain +#+caption: For each value of $\omega_i$, the maximum damping ratio $\xi$ is computed (blue), and the corresponding controller gain is shown (in red). The chosen controller parameters used for further analysis are indicated by the large dots. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_hpf_nass_optimal_gain_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_hpf_nass_optimal_gain_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_hpf_nass_optimal_gain_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_hpf_nass_optimal_gain_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_iff_hpf_nass_optimal_gain_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_iff_hpf_nass_optimal_gain_pz.png]] +#+end_subfigure +#+end_figure + +#+name: tab:rotating_iff_hpf_opt_iff_hpf_params_nass +#+caption: Obtained optimal parameters ($\omega_i$ and $g$) for the modified IFF controller including a high-pass filter. The corresponding achievable simultaneous damping of the two modes $\xi$ is also shown. +#+attr_latex: :environment tabularx :width 0.4\linewidth :align Xccc +#+attr_latex: :center t :booktabs t +#+RESULTS: +| $k_n$ | $\omega_i$ | $g$ | $\xi_\text{opt}$ | +|-----------------+------------+------+------------------| +| $0.01\,N/\mu m$ | 7.3 | 51 | 0.45 | +| $1\,N/\mu m$ | 39 | 427 | 0.93 | +| $100\,N/\mu m$ | 500 | 3775 | 0.94 | + +**** Optimal IFF with Parallel Stiffness +For each considered nano-hexapod stiffness, the parallel stiffness $k_p$ is varied from $k_{p,\text{min}} = m\Omega^2$ (the minimum stiffness that yields unconditional stability) to $k_{p,\text{max}} = k_n$ (the total nano-hexapod stiffness). +To keep the overall stiffness constant, the actuator stiffness $k_a$ is decreased when $k_p$ is increased ($k_a = k_n - k_p$, with $k_n$ the total nano-hexapod stiffness). +A high-pass filter is also added to limit the low-frequency gain with a cut-off frequency $\omega_i$ equal to one tenth of the system resonance ($\omega_i = \omega_0/10$). + +The achievable maximum simultaneous damping of all the modes is computed as a function of the parallel stiffnesses (Figure ref:fig:rotating_iff_kp_nass_optimal_gain). +It is shown that the soft nano-hexapod cannot yield good damping because the parallel stiffness cannot be sufficiently large compared to the negative stiffness induced by the rotation. +For the two stiff options, the achievable damping decreases when the parallel stiffness is too high, as explained in Section ref:sec:rotating_iff_parallel_stiffness. +Such behavior can be explained by the fact that the achievable damping can be approximated by the distance between the open-loop pole and the open-loop zero [[cite:&preumont18_vibrat_contr_activ_struc_fourt_edition chapt 7.2]]. +This distance is larger for stiff nano-hexapod because the open-loop pole will be at higher frequencies while the open-loop zero, whereas depends on the value of the parallel stiffness, can only be made large for stiff nano-hexapods. + +Let's choose $k_p = 1\,N/mm$, $k_p = 0.01\,N/\mu m$ and $k_p = 1\,N/\mu m$ for the three considered nano-hexapods. +The corresponding optimal controller gains and achievable damping are summarized in Table ref:tab:rotating_iff_kp_opt_iff_kp_params_nass. + +#+attr_latex: :options [t]{0.49\textwidth} +#+begin_minipage +#+name: fig:rotating_iff_kp_nass_optimal_gain +#+attr_latex: :width \linewidth :float nil +#+caption: Maximum damping $\xi$ as a function of the parallel stiffness $k_p$ +[[file:figs/rotating_iff_kp_nass_optimal_gain.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.45\textwidth} +#+begin_minipage +#+caption: Obtained optimal parameters for the IFF controller when using parallel stiffnesses +#+name: tab:rotating_iff_kp_opt_iff_kp_params_nass +#+attr_latex: :environment tabularx :width \linewidth :placement [b] :align Xccc +#+attr_latex: :booktabs t :float nil +#+RESULTS: +| $k_n$ | $k_p$ | $g$ | $\xi_{\text{opt}}$ | +|-----------------+-----------------+---------+--------------------| +| $0.01\,N/\mu m$ | $1\,N/mm$ | 47.9 | 0.44 | +| $1\,N/\mu m$ | $0.01\,N/\mu m$ | 465.57 | 0.97 | +| $100\,N/\mu m$ | $1\,N/\mu m$ | 4624.25 | 0.99 | +#+end_minipage + +**** Optimal Relative Motion Control +For each considered nano-hexapod stiffness, relative damping control is applied and the achievable damping ratio as a function of the controller gain is computed (Figure ref:fig:rotating_rdc_optimal_gain). +The gain is chosen such that 99% of modal damping is obtained (obtained gains are summarized in Table ref:tab:rotating_rdc_opt_params_nass). + +#+attr_latex: :options [t]{0.49\textwidth} +#+begin_minipage +#+name: fig:rotating_rdc_optimal_gain +#+attr_latex: :width \linewidth :float nil +#+caption: Maximum damping $\xi$ as a function of the RDC gain $g$ +[[file:figs/rotating_rdc_optimal_gain.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.45\textwidth} +#+begin_minipage +#+caption: Obtained optimal parameters for the RDC +#+name: tab:rotating_rdc_opt_params_nass +#+attr_latex: :environment tabularx :width 0.8\linewidth :placement [b] :align Xcc +#+attr_latex: :booktabs t :float nil +#+RESULTS: +| $k_n$ | $g$ | $\xi_{\text{opt}}$ | +|-----------------+-------+--------------------| +| $0.01\,N/\mu m$ | 1600 | 0.99 | +| $1\,N/\mu m$ | 8200 | 0.99 | +| $100\,N/\mu m$ | 80000 | 0.99 | +#+end_minipage + +**** Comparison of the obtained damped plants +Now that the optimal parameters for the three considered active damping techniques have been determined, the obtained damped plants are computed and compared in Figure ref:fig:rotating_nass_damped_plant_comp. + +Similar to what was concluded in the previous analysis: +- acrshort:iff adds more coupling below the resonance frequency as compared to the open-loop and acrshort:rdc cases +- All three methods yield good damping, except for acrshort:iff applied on the soft nano-hexapod +- Coupling is smaller for stiff nano-hexapods + +#+name: fig:rotating_nass_damped_plant_comp +#+caption: Comparison of the damped plants for the three proposed active damping techniques (IFF with HPF in blue, IFF with $k_p$ in red and RDC in yellow). The direct terms are shown by solid lines, and the coupling terms are shown by the shaded lines. Three nano-hexapod stiffnesses are considered. For this analysis the rotating velocity is $\Omega = 60\,\text{rpm}$ and the suspended mass is $m_n + m_s = \SI{16}{\kg}$. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_damped_plant_comp_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_damped_plant_comp_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_damped_plant_comp_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_damped_plant_comp_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_damped_plant_comp_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_damped_plant_comp_pz.png]] +#+end_subfigure +#+end_figure + +*** Nano-Active-Stabilization-System with rotation +:PROPERTIES: +:header-args:matlab+: :tangle matlab/rotating_8_nass.m +:END: +<> +**** Introduction :ignore: +Until now, the model used to study gyroscopic effects consisted of an infinitely stiff rotating stage with a X-Y suspended stage on top. +While quite simplistic, this allowed us to study the effects of rotation and the associated limitations when active damping is to be applied. +In this section, the limited compliance of the micro-station is considered as well as the rotation of the spindle. + +**** Nano Active Stabilization System model +To have a more realistic dynamics model of the NASS, the 2-DoF nano-hexapod (modeled as shown in Figure ref:fig:rotating_3dof_model_schematic) is now located on top of a model of the micro-station including (see Figure ref:fig:rotating_nass_model for a 3D view): +- the floor whose motion is imposed +- a 2-DoF granite ($k_{g,x} = k_{g,y} = \SI{950}{\N\per\mu\m}$, $m_g = \SI{2500}{\kg}$) +- a 2-DoF $T_y$ stage ($k_{t,x} = k_{t,y} = \SI{520}{\N\per\mu\m}$, $m_t = \SI{600}{\kg}$) +- a spindle (vertical rotation) stage whose rotation is imposed ($m_s = \SI{600}{\kg}$) +- a 2-DoF micro-hexapod ($k_{h,x} = k_{h,y} = \SI{61}{\N\per\mu\m}$, $m_h = \SI{15}{\kg}$) + +A payload is rigidly fixed to the nano-hexapod and the $x,y$ motion of the payload is measured with respect to the granite. + +#+name: fig:rotating_nass_model +#+caption: 3D view of the Nano-Active-Stabilization-System model. +#+attr_latex: :scale 0.7 +[[file:figs/rotating_nass_model.png]] + +**** System dynamics + +The dynamics of the undamped and damped plants are identified using the optimal parameters found in Section ref:sec:rotating_nano_hexapod. +The obtained dynamics are compared in Figure ref:fig:rotating_nass_plant_comp_stiffness in which the direct terms are shown by the solid curves and the coupling terms are shown by the shaded ones. +It can be observed that: +- The coupling (quantified by the ratio between the off-diagonal and direct terms) is higher for the soft nano-hexapod +- Damping added using the three proposed techniques is quite high, and the obtained plant is rather easy to control +- There is some coupling between nano-hexapod and micro-station dynamics for the stiff nano-hexapod (mode at 200Hz) +- The two proposed IFF modifications yield similar results + +#+name: fig:rotating_nass_plant_comp_stiffness +#+caption: Bode plot of the transfer function from nano-hexapod actuator to measured motion by the external metrology +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_plant_comp_stiffness_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_plant_comp_stiffness_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_plant_comp_stiffness_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_plant_comp_stiffness_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_plant_comp_stiffness_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_plant_comp_stiffness_pz.png]] +#+end_subfigure +#+end_figure + +**** Effect of disturbances + +The effect of three disturbances are considered (as for the uniaxial model), floor motion $[x_{f,x},\ x_{f,y}]$ (Figure ref:fig:rotating_nass_effect_floor_motion), micro-Station vibrations $[f_{t,x},\ f_{t,y}]$ (Figure ref:fig:rotating_nass_effect_stage_vibration) and direct forces applied on the sample $[f_{s,x},\ f_{s,y}]$ (Figure ref:fig:rotating_nass_effect_direct_forces). +Note that only the transfer functions from the disturbances in the $x$ direction to the relative position $d_x$ between the sample and the granite in the $x$ direction are displayed because the transfer functions in the $y$ direction are the same due to the system symmetry. + +Conclusions are similar than those of the uniaxial (non-rotating) model: +- Regarding the effect of floor motion and forces applied on the payload: + - The stiffer, the better. This can be seen in Figures ref:fig:rotating_nass_effect_floor_motion and ref:fig:rotating_nass_effect_direct_forces where the magnitudes for the stiff hexapod are lower than those for the soft one + - acrshort:iff degrades the performance at low-frequency compared to acrshort:rdc +- Regarding the effect of micro-station vibrations: + - Having a soft nano-hexapod allows filtering of these vibrations between the suspension modes of the nano-hexapod and some flexible modes of the micro-station. Using relative damping control reduces this filtering (Figure ref:fig:rotating_nass_effect_stage_vibration_vc). + +#+name: fig:rotating_nass_effect_floor_motion +#+caption: Effect of floor motion $x_{f,x}$ on the position error $d_x$ - Comparison of active damping techniques for the three nano-hexapod stiffnesses. IFF is shown to increase the sensitivity to floor motion at low-frequency. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_floor_motion_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_floor_motion_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_floor_motion_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_floor_motion_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_floor_motion_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_floor_motion_pz.png]] +#+end_subfigure +#+end_figure + +#+name: fig:rotating_nass_effect_stage_vibration +#+caption: Effect of micro-station vibrations $f_{t,x}$ on the position error $d_x$ - Comparison of active damping techniques for the three nano-hexapod stiffnesses. Relative Damping Control increases the sensitivity to micro-station vibrations between the soft nano-hexapod suspension modes and the micro-station modes \subref{fig:rotating_nass_effect_stage_vibration_vc} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_stage_vibration_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_stage_vibration_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_stage_vibration_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_stage_vibration_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_stage_vibration_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_stage_vibration_pz.png]] +#+end_subfigure +#+end_figure + +#+name: fig:rotating_nass_effect_direct_forces +#+caption: Effect of sample forces $f_{s,x}$ on the position error $d_x$ - Comparison of active damping techniques for the three nano-hexapod stiffnesses. Integral Force Feedback degrades this compliance at low-frequency. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_direct_forces_vc}$k_n = 0.01\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_direct_forces_vc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_direct_forces_md}$k_n = 1\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_direct_forces_md.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:rotating_nass_effect_direct_forces_pz}$k_n = 100\,N/\mu m$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/rotating_nass_effect_direct_forces_pz.png]] +#+end_subfigure +#+end_figure *** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: -- problem with voice coil actuator -- Two solutions: add parallel stiffness, or change controller -- Conclusion: minimum stiffness is required -- APA is a nice architecture for parallel stiffness + integrated force sensor (have to speak about IFF before that) +In this study, the gyroscopic effects induced by the spindle's rotation have been studied using a simplified model (Section ref:sec:rotating_system_description). +Decentralized acrlong:iff with pure integrators was shown to be unstable when applied to rotating platforms (Section ref:sec:rotating_iff_pure_int). +Two modifications of the classical acrshort:iff control have been proposed to overcome this issue. -** TODO Micro Station - Modal Analysis -# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A3-micro-station-modal-analysis/modal-analysis.org][Micro Station - Modal Analysis]] +The first modification concerns the controller and consists of adding a high-pass filter to the pure integrators. +This is equivalent to moving the controller pole to the left along the real axis. +This allows the closed-loop system to be stable up to some value of the controller gain (Section ref:sec:rotating_iff_pseudo_int). + +The second proposed modification concerns the mechanical system. +Additional springs are added in parallel with the actuators and force sensors. +It was shown that if the stiffness $k_p$ of the additional springs is larger than the negative stiffness $m \Omega^2$ induced by centrifugal forces, the classical decentralized acrshort:iff regains its unconditional stability property (Section ref:sec:rotating_iff_parallel_stiffness). + +These two modifications were compared with acrlong:rdc in Section ref:sec:rotating_comp_act_damp. +While having very different implementations, both proposed modifications were found to be very similar with respect to the attainable damping and the obtained closed-loop system behavior. + +This study has been applied to a rotating platform that corresponds to the nano-hexapod parameters (Section ref:sec:rotating_nano_hexapod). +As for the uniaxial model, three nano-hexapod stiffnesses values were considered. +The dynamics of the soft nano-hexapod ($k_n = 0.01\,N/\mu m$) was shown to be more depend more on the rotation velocity (higher coupling and change of dynamics due to gyroscopic effects). +In addition, the attainable damping ratio of the soft nano-hexapod when using acrshort:iff is limited by gyroscopic effects. + +To be closer to the acrlong:nass dynamics, the limited compliance of the micro-station has been considered (Section ref:sec:rotating_nass). +Results are similar to those of the uniaxial model except that come complexity is added for the soft nano-hexapod due to the spindle's rotation. +For the moderately stiff nano-hexapod ($k_n = 1\,N/\mu m$), the gyroscopic effects only slightly affect the system dynamics, and therefore could represent a good alternative to the soft nano-hexapod that showed better results with the uniaxial model. + +** Micro Station - Modal Analysis *** Introduction :ignore: -Conclusion: -- complex dynamics: need multi-body model of the micro-station to represent the limited compliance... +To further improve the accuracy of the performance predictions, a model that better represents the micro-station dynamics is required. +A multi-body model consisting of several rigid bodies connected by kinematic constraints (i.e. joints), springs and damper elements is a good candidate to model the micro-station. + +Although the inertia of each solid body can easily be estimated from its geometry and material density, it is more difficult to properly estimate the stiffness and damping properties of the guiding elements connecting each solid body. +Experimental modal analysis will be used to tune the model, and to verify that a multi-body model can accurately represent the dynamics of the micro-station. + +The tuning approach for the multi-body model based on measurements is illustrated in Figure ref:fig:modal_vibration_analysis_procedure. +First, a /response model/ is obtained, which corresponds to a set of frequency response functions computed from experimental measurements. +From this response model, the modal model can be computed, which consists of two matrices: one containing the natural frequencies and damping factors of the considered modes, and another describing the mode shapes. +This modal model can then be used to tune the spatial model (i.e. the multi-body model), that is, to tune the mass of the considering solid bodies and the springs and dampers connecting the solid bodies. + +#+name: fig:modal_vibration_analysis_procedure +#+caption: Three models of the same structure. The goal is to tune a spatial model (i.e. mass, stiffness and damping properties) from a response model. The modal model can be used as an intermediate step. +#+RESULTS: +[[file:figs/modal_vibration_analysis_procedure.png]] + +The measurement setup used to obtain the response model is described in Section ref:sec:modal_meas_setup. +This includes the instrumentation used (i.e. instrumented hammer, accelerometers and acquisition system), test planing, and a first analysis of the obtained signals. + +In Section ref:sec:modal_frf_processing, the obtained frequency response functions between the forces applied by the instrumented hammer and the accelerometers fixed to the structure are computed. +These measurements are projected at the center of mass of each considered solid body to facilitate the further use of the results. +The solid body assumption is then verified, validating the use of the multi-body model. + +Finally, the modal analysis is performed in Section ref:sec:modal_analysis. +This shows how complex the micro-station dynamics is, and the necessity of having a model representing its complex dynamics. + +# #+name: tab:modal_section_matlab_code +# #+caption: Report sections and corresponding Matlab files +# #+attr_latex: :environment tabularx :width 0.5\linewidth :align lX +# #+attr_latex: :center t :booktabs t +# | *Sections* | *Matlab File* | +# |--------------------------------------+----------------------------| +# | Section ref:sec:modal_meas_setup | =modal_1_meas_setup.m= | +# | Section ref:sec:modal_frf_processing | =modal_2_frf_processing.m= | +# | Section ref:sec:modal_analysis | =modal_3_analysis.m= | *** Measurement Setup +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/modal_1_meas_setup.m +:END: +<> +**** Introduction :ignore: + +In order to perform an experimental modal analysis, a suitable measurement setup is essential. +This includes using appropriate instrumentation (presented in Section ref:ssec:modal_instrumentation) and properly preparing the structure to be measured (Section ref:ssec:modal_test_preparation). +Then, the locations of the measured motions (Section ref:ssec:modal_accelerometers) and the locations of the hammer impacts (Section ref:ssec:modal_hammer_impacts) have to be chosen carefully. +The obtained force and acceleration signals are described in Section ref:ssec:modal_measured_signals, and the quality of the measured data is assessed. + +**** Used Instrumentation +<> + +Three type of equipment are essential for a good modal analysis. +First, /accelerometers/ are used to measure the response of the structure. +Here, 3-axis accelerometers[fn:modal_1] shown in figure ref:fig:modal_accelero_M393B05 are used. +These accelerometers were glued to the micro-station using a thin layer of wax for best results [[cite:&ewins00_modal chapt. 3.5.7]]. + +#+name: fig:modal_analysis_instrumentation +#+caption: Instrumentation used for the modal analysis +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:modal_accelero_M393B05}3-axis accelerometer} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/modal_accelero_M393B05.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_instrumented_hammer}Instrumented hammer} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/modal_instrumented_hammer.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_oros}OROS acquisition system} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/modal_oros.jpg]] +#+end_subfigure +#+end_figure + +Then, an /instrumented hammer/[fn:modal_2] (figure ref:fig:modal_instrumented_hammer) is used to apply forces to the structure in a controlled manner. +Tests were conducted to determine the most suitable hammer tip (ranging from a metallic one to a soft plastic one). +The softer tip was found to give best results as it injects more energy in the low-frequency range where the coherence was low, such that the overall coherence was improved. + +Finally, an /acquisition system/[fn:modal_3] (figure ref:fig:modal_oros) is used to acquire the injected force and response accelerations in a synchronized manner and with sufficiently low noise. + +**** Structure Preparation and Test Planing +<> + +To obtain meaningful results, the modal analysis of the micro-station in performed /in-situ/. +To do so, all the micro-station stage controllers are turned "ON". +This is especially important for stages for which the stiffness is provided by local feedback control, such as the air bearing spindle, and the translation stage. +If these local feedback controls were turned OFF, this would have resulted in very low-frequency modes that were difficult to measure in practice, and it would also have led to decoupled dynamics, which would not be the case in practice. + +The top part representing the active stabilization stage was disassembled as the active stabilization stage will be added in the multi-body model afterwards. + +To perform the modal analysis from the measured responses, the $n \times n$ frequency response function matrix $\mathbf{H}$ needs to be measured, where $n$ is the considered number of degrees of freedom. +The $H_{jk}$ element of this acrfull:frf matrix corresponds to the frequency response function from a force $F_k$ applied at acrfull:dof $k$ to the displacement of the structure $X_j$ at acrshort:dof $j$. +Measuring this acrshort:frf matrix is time consuming as it requires to make $n \times n$ measurements. +However, due to the principle of reciprocity ($H_{jk} = H_{kj}$) and using the /point measurement/ ($H_{jj}$), it is possible to reconstruct the full matrix by measuring only one column or one line of the matrix $\mathbf{H}$ [[cite:&ewins00_modal chapt. 5.2]]. +Therefore, a minimum set of $n$ frequency response functions is required. +This can be done either by measuring the response $X_{j}$ at a fixed acrshort:dof $j$ while applying forces $F_{i}$ for at all $n$ considered acrshort:dof, or by applying a force $F_{k}$ at a fixed acrshort:dof $k$ and measuring the response $X_{i}$ for all $n$ acrshort:dof. + +It is however not advised to measure only one row or one column, as one or more modes may be missed by an unfortunate choice of force or acceleration measurement location (for instance if the force is applied at a vibration node of a particular mode). +In this modal analysis, it is chosen to measure the response of the structure at all considered acrshort:dof, and to excite the structure at one location in three directions in order to have some redundancy, and to ensure that all modes are properly identified. + +**** Location of the Accelerometers +<> + +The location of the accelerometers fixed to the micro-station is essential because it defines where the dynamics is measured. +A total of 23 accelerometers were fixed to the six key stages of the micro station: the lower and upper granites, the translation stage, the tilt stage, the spindle and the micro hexapod. +The positions of the accelerometers are visually shown on a CAD model in Figure ref:fig:modal_location_accelerometers and their precise locations with respect to a frame located at the point of interest are summarized in Table ref:tab:modal_position_accelerometers. +Pictures of the accelerometers fixed to the translation stage and to the micro-hexapod are shown in Figure ref:fig:modal_accelerometer_pictures. + +As all key stages of the micro-station are expected to behave as solid bodies, only 6 acrshort:dof can be considered for each solid body. +However, it was chosen to use four 3-axis accelerometers (i.e. 12 measured acrshort:dof) for each considered solid body to have some redundancy and to be able to verify the solid body assumption (see Section ref:ssec:modal_solid_body_assumption). + +#+attr_latex: :options [b]{0.63\textwidth} +#+begin_minipage +#+name: fig:modal_location_accelerometers +#+caption: Position of the accelerometers +#+attr_latex: :width 0.95\linewidth :float nil +[[file:figs/modal_location_accelerometers.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.36\textwidth} +#+begin_minipage +#+begin_scriptsize +#+latex: \centering +#+attr_latex: :environment tabularx :width \linewidth :placement [b] :align Xccc +#+attr_latex: :booktabs t :float nil :center nil +| | $x$ | $y$ | $z$ | +|-------------------+------+------+------| +| (17) Low. Granite | -730 | -526 | -951 | +| (18) Low. Granite | -735 | 814 | -951 | +| (19) Low. Granite | 875 | 799 | -951 | +| (20) Low. Granite | 865 | -506 | -951 | +| (13) Up. Granite | -320 | -446 | -786 | +| (14) Up. Granite | -480 | 534 | -786 | +| (15) Up. Granite | 450 | 534 | -786 | +| (16) Up. Granite | 295 | -481 | -786 | +| (9) Translation | -475 | -414 | -427 | +| (10) Translation | -465 | 407 | -427 | +| (11) Translation | 475 | 424 | -427 | +| (12) Translation | 475 | -419 | -427 | +| (5) Tilt | -385 | -300 | -417 | +| (6) Tilt | -420 | 280 | -417 | +| (7) Tilt | 420 | 280 | -417 | +| (8) Tilt | 380 | -300 | -417 | +| (21) Spindle | -155 | -90 | -594 | +| (22) Spindle | 0 | 180 | -594 | +| (23) Spindle | 155 | -90 | -594 | +| (1) Hexapod | -64 | -64 | -270 | +| (2) Hexapod | -64 | 64 | -270 | +| (3) Hexapod | 64 | 64 | -270 | +| (4) Hexapod | 64 | -64 | -270 | +#+latex: \captionof{table}{\label{tab:modal_position_accelerometers}Positions in mm} +#+end_scriptsize +#+end_minipage + +#+name: fig:modal_accelerometer_pictures +#+caption: Accelerometers fixed on the micro-station stages +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:modal_accelerometers_ty} $T_y$ stage} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/modal_accelerometers_ty.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_accelerometers_hexapod} Micro-Hexapod} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/modal_accelerometers_hexapod.jpg]] +#+end_subfigure +#+end_figure + +**** Hammer Impacts +<> + +The selected location of the hammer impact corresponds to the location of accelerometer number $11$ fixed to the translation stage. +It was chosen to match the location of one accelerometer, because a /point measurement/ (i.e. a measurement of $H_{kk}$) is necessary to be able to reconstruct the full acrshort:frf matrix [[cite:ewins00_modal]]. + +The impacts were performed in three directions, as shown in figures ref:fig:modal_impact_x, ref:fig:modal_impact_y and ref:fig:modal_impact_z. + +#+name: fig:modal_hammer_impacts +#+caption: The three hammer impacts used for the modal analysis +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:modal_impact_x} $X$ impact} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.8\linewidth +[[file:figs/modal_impact_x.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_impact_y} $Y$ impact} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.8\linewidth +[[file:figs/modal_impact_y.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_impact_z} $Z$ impact} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.8\linewidth +[[file:figs/modal_impact_z.jpg]] +#+end_subfigure +#+end_figure + +**** Force and Response signals +<> + +The force sensor of the instrumented hammer and the accelerometer signals are shown in the time domain in Figure ref:fig:modal_raw_meas. +Sharp "impacts" can be observed for the force sensor, indicating wide frequency band excitation. +For the accelerometer, a much more complex signal can be observed, indicating complex dynamics. + +The "normalized" acrfull:asd of the two signals were computed and shown in Figure ref:fig:modal_asd_acc_force. +Conclusions based on the time domain signals can be clearly observed in the frequency domain (wide frequency content for the force signal and complex dynamics for the accelerometer). +These data are corresponding to an hammer impact in the vertical direction and to the measured acceleration in the $x$ direction by accelerometer $1$ (fixed to the micro-hexapod). +Similar results were obtained for all measured frequency response functions. + +#+name: fig:modal_raw_meas_asd +#+caption: Raw measurement of the accelerometer 1 in the $x$ direction (blue) and of the force sensor at the Hammer tip (red) for an impact in the $z$ direction \subref{fig:modal_raw_meas}. Computed Amplitude Spectral Densities of the two signals (normalized) \subref{fig:modal_asd_acc_force} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:modal_raw_meas}Time domain signals} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/modal_raw_meas.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_asd_acc_force}Amplitude Spectral Density (normalized)} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/modal_asd_acc_force.png]] +#+end_subfigure +#+end_figure + +The frequency response function from the applied force to the measured acceleration is then computed and shown Figure ref:fig:modal_frf_acc_force. +The quality of the obtained data can be estimated using the /coherence/ function (Figure ref:fig:modal_coh_acc_force). +Good coherence is obtained from $20\,\text{Hz}$ to $200\,\text{Hz}$ which corresponds to the frequency range of interest. + +#+name: fig:modal_frf_coh_acc_force +#+caption: Computed frequency response function from the applied force $F_{z}$ to the measured response $X_{1,x}$ \subref{fig:modal_frf_acc_force} as well as computed coherence \subref{fig:modal_coh_acc_force} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:modal_frf_acc_force} Frequency Response Function} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/modal_frf_acc_force.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_coh_acc_force} Coherence} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/modal_coh_acc_force.png]] +#+end_subfigure +#+end_figure *** Frequency Analysis +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/modal_2_frf_processing.m +:END: +<> +**** Introduction :ignore: + +After all measurements are conducted, a $n \times p \times q$ acrlongpl:frf matrix can be computed with: +- $n = 69$: number of output measured acceleration (23 3-axis accelerometers) +- $p = 3$: number of input force excitation +- $q = 801$: number of frequency points $\omega_{i}$ + +For each frequency point $\omega_{i}$, a 2D complex matrix is obtained that links the 3 force inputs to the 69 output accelerations eqref:eq:modal_frf_matrix_raw. + +\begin{equation}\label{eq:modal_frf_matrix_raw} + \mathbf{H}(\omega_i) = \begin{bmatrix} + \frac{D_{1_x}}{F_x}(\omega_i) & \frac{D_{1_x}}{F_y}(\omega_i) & \frac{D_{1_x}}{F_z}(\omega_i) \\ + \frac{D_{1_y}}{F_x}(\omega_i) & \frac{D_{1_y}}{F_y}(\omega_i) & \frac{D_{1_y}}{F_z}(\omega_i) \\ + \frac{D_{1_z}}{F_x}(\omega_i) & \frac{D_{1_z}}{F_y}(\omega_i) & \frac{D_{1_z}}{F_z}(\omega_i) \\ + \frac{D_{2_x}}{F_x}(\omega_i) & \frac{D_{2_x}}{F_y}(\omega_i) & \frac{D_{2_x}}{F_z}(\omega_i) \\ + \vdots & \vdots & \vdots \\ + \frac{D_{23_z}}{F_x}(\omega_i) & \frac{D_{23_z}}{F_y}(\omega_i) & \frac{D_{23_z}}{F_z}(\omega_i) \\ +\end{bmatrix} +\end{equation} + +However, for the multi-body model being developed, only 6 solid bodies are considered, namely: the bottom granite, the top granite, the translation stage, the tilt stage, the spindle and the micro-hexapod. +Therefore, only $6 \times 6 = 36$ degrees of freedom are of interest. +Therefore, the objective of this section is to to process the Frequency Response Matrix to reduce the number of measured acrshort:dof from 69 to 36. + +The coordinate transformation from accelerometers acrshort:dof to the solid body 6 acrshortpl:dof (three translations and three rotations) is performed in Section ref:ssec:modal_acc_to_solid_dof. +The $69 \times 3 \times 801$ frequency response matrix is then reduced to a $36 \times 3 \times 801$ frequency response matrix where the motion of each solid body is expressed with respect to its center of mass. + +To validate this reduction of acrshort:dof and the solid body assumption, the frequency response function at the accelerometer location are "reconstructed" from the reduced frequency response matrix and are compared with the initial measurements in Section ref:ssec:modal_solid_body_assumption. + +**** From accelerometer DOFs to solid body DOFs +<> + +Let us consider the schematic shown in Figure ref:fig:modal_local_to_global_coordinates where the motion of a solid body is measured at 4 distinct locations (in $x$, $y$ and $z$ directions). +The goal here is to link these $4 \times 3 = 12$ measurements to the 6 acrshort:dof of the solid body expressed in the frame $\{O\}$. + +#+name: fig:modal_local_to_global_coordinates +#+caption: Schematic of the measured motions of a solid body +#+RESULTS: +[[file:figs/modal_local_to_global_coordinates.png]] + +The motion of the rigid body of figure ref:fig:modal_local_to_global_coordinates can be described by its displacement $\vec{\delta}p = [\delta p_x,\ \delta p_y,\ \delta p_z]$ and (small) rotations $[\delta \Omega_x,\ \delta \Omega_y,\ \delta \Omega_z]$ with respect to the reference frame $\{O\}$. + +The motion $\vec{\delta} p_{i}$ of a point $p_i$ can be computed from $\vec{\delta} p$ and $\bm{\delta \Omega}$ using equation eqref:eq:modal_compute_point_response, with $\bm{\delta\Omega}$ defined in equation eqref:eq:modal_rotation_matrix [[cite:&ewins00_modal chapt. 4.3.2]]. + +\begin{equation}\label{eq:modal_compute_point_response} + \vec{\delta} p_{i} &= \vec{\delta} p + \bm{\delta \Omega} \cdot \vec{p}_{i} \\ +\end{equation} + +\begin{equation}\label{eq:modal_rotation_matrix} + \bm{\delta\Omega} = \begin{bmatrix} + 0 & -\delta\Omega_z & \delta\Omega_y \\ + \delta\Omega_z & 0 & -\delta\Omega_x \\ + -\delta\Omega_y & \delta\Omega_x & 0 +\end{bmatrix} +\end{equation} + +Writing this in matrix form for the four points gives eqref:eq:modal_cart_to_acc. + +\begin{equation}\label{eq:modal_cart_to_acc} +\left[\begin{array}{c} + \delta p_{1x} \\ \delta p_{1y} \\ \delta p_{1z} \\\hline \vdots \\\hline \delta p_{4x} \\ \delta p_{4y} \\ \delta p_{4z} +\end{array}\right] = +\left[\begin{array}{ccc|ccc} + 1 & 0 & 0 & 0 & p_{1z} & -p_{1y} \\ + 0 & 1 & 0 & -p_{1z} & 0 & p_{1x} \\ + 0 & 0 & 1 & p_{1y} & -p_{1x} & 0 \\ \hline + & \vdots & & & \vdots & \\ \hline + 1 & 0 & 0 & 0 & p_{4z} & -p_{4y} \\ + 0 & 1 & 0 & -p_{4z} & 0 & p_{4x} \\ + 0 & 0 & 1 & p_{4y} & -p_{4x} & 0 +\end{array}\right] \left[\begin{array}{c} + \delta p_x \\ \delta p_y \\ \delta p_z \\ \hline \delta\Omega_x \\ \delta\Omega_y \\ \delta\Omega_z +\end{array}\right] +\end{equation} + +Provided that the four sensors are properly located, the system of equation eqref:eq:modal_cart_to_acc can be solved by matrix inversion[fn:modal_5]. +The motion of the solid body expressed in a chosen frame $\{O\}$ can be determined using equation eqref:eq:modal_determine_global_disp. +Note that this matrix inversion is equivalent to resolving a mean square problem. +Therefore, having more accelerometers permits better approximation of the motion of a solid body. + +\begin{equation} +\left[\begin{array}{c} + \delta p_x \\ \delta p_y \\ \delta p_z \\ \hline \delta\Omega_x \\ \delta\Omega_y \\ \delta\Omega_z +\end{array}\right] = +\left[\begin{array}{ccc|ccc} + 1 & 0 & 0 & 0 & p_{1z} & -p_{1y} \\ + 0 & 1 & 0 & -p_{1z} & 0 & p_{1x} \\ + 0 & 0 & 1 & p_{1y} & -p_{1x} & 0 \\ \hline + & \vdots & & & \vdots & \\ \hline + 1 & 0 & 0 & 0 & p_{4z} & -p_{4y} \\ + 0 & 1 & 0 & -p_{4z} & 0 & p_{4x} \\ + 0 & 0 & 1 & p_{4y} & -p_{4x} & 0 +\end{array}\right]^{-1} \left[\begin{array}{c} + \delta p_{1x} \\ \delta p_{1y} \\ \delta p_{1z} \\\hline \vdots \\\hline \delta p_{4x} \\ \delta p_{4y} \\ \delta p_{4z} +\end{array}\right] \label{eq:modal_determine_global_disp} +\end{equation} + +From the CAD model, the position of the center of mass of each considered solid body is computed (see Table ref:tab:modal_com_solid_bodies). +The position of each accelerometer with respect to the center of mass of the corresponding solid body can easily be determined. + +#+name: tab:modal_com_solid_bodies +#+caption: Center of mass of considered solid bodies with respect to the "point of interest" +#+attr_latex: :environment tabularx :width 0.55\linewidth :align Xccc +#+attr_latex: :center t :booktabs t +#+RESULTS: +| | $X$ | $Y$ | $Z$ | +|-------------------+-----------------+------------------+--------------------| +| Bottom Granite | $45\,\text{mm}$ | $144\,\text{mm}$ | $-1251\,\text{mm}$ | +| Top granite | $52\,\text{mm}$ | $258\,\text{mm}$ | $-778\,\text{mm}$ | +| Translation stage | $0$ | $14\,\text{mm}$ | $-600\,\text{mm}$ | +| Tilt Stage | $0$ | $-5\,\text{mm}$ | $-628\,\text{mm}$ | +| Spindle | $0$ | $0$ | $-580\,\text{mm}$ | +| Hexapod | $-4\,\text{mm}$ | $6\,\text{mm}$ | $-319\,\text{mm}$ | + +Using eqref:eq:modal_determine_global_disp, the frequency response matrix $\mathbf{H}_\text{CoM}$ eqref:eq:modal_frf_matrix_com expressing the response at the center of mass of each solid body $D_i$ ($i$ from $1$ to $6$ for the $6$ considered solid bodies) can be computed from the initial acrshort:frf matrix $\mathbf{H}$. + +\begin{equation}\label{eq:modal_frf_matrix_com} + \mathbf{H}_\text{CoM}(\omega_i) = \begin{bmatrix} + \frac{D_{1,T_x}}{F_x}(\omega_i) & \frac{D_{1,T_x}}{F_y}(\omega_i) & \frac{D_{1,T_x}}{F_z}(\omega_i) \\ + \frac{D_{1,T_y}}{F_x}(\omega_i) & \frac{D_{1,T_y}}{F_y}(\omega_i) & \frac{D_{1,T_y}}{F_z}(\omega_i) \\ + \frac{D_{1,T_z}}{F_x}(\omega_i) & \frac{D_{1,T_z}}{F_y}(\omega_i) & \frac{D_{1,T_z}}{F_z}(\omega_i) \\ + \frac{D_{1,R_x}}{F_x}(\omega_i) & \frac{D_{1,R_x}}{F_y}(\omega_i) & \frac{D_{1,R_x}}{F_z}(\omega_i) \\ + \frac{D_{1,R_y}}{F_x}(\omega_i) & \frac{D_{1,R_y}}{F_y}(\omega_i) & \frac{D_{1,R_y}}{F_z}(\omega_i) \\ + \frac{D_{1,R_z}}{F_x}(\omega_i) & \frac{D_{1,R_z}}{F_y}(\omega_i) & \frac{D_{1,R_z}}{F_z}(\omega_i) \\ + \frac{D_{2,T_x}}{F_x}(\omega_i) & \frac{D_{2,T_x}}{F_y}(\omega_i) & \frac{D_{2,T_x}}{F_z}(\omega_i) \\ + \vdots & \vdots & \vdots \\ + \frac{D_{6,R_z}}{F_x}(\omega_i) & \frac{D_{6,R_z}}{F_y}(\omega_i) & \frac{D_{6,R_z}}{F_z}(\omega_i) +\end{bmatrix} +\end{equation} + +**** Verification of solid body assumption +<> + +From the response of one solid body expressed by its 6 acrshortpl:dof (i.e. from $\mathbf{H}_{\text{CoM}}$), and using equation eqref:eq:modal_cart_to_acc, it is possible to compute the response of the same solid body at any considered location. +In particular, the responses at the locations of the four accelerometers can be computed and compared with the original measurements $\mathbf{H}$. +This is what is done here to check whether the solid body assumption is correct in the frequency band of interest. + +The comparison is made for the 4 accelerometers fixed on the micro-hexapod (Figure ref:fig:modal_comp_acc_solid_body_frf). +The original frequency response functions and those computed from the CoM responses match well in the frequency range of interest. +Similar results were obtained for the other solid bodies, indicating that the solid body assumption is valid and that a multi-body model can be used to represent the dynamics of the micro-station. +This also validates the reduction in the number of degrees of freedom from 69 (23 accelerometers with each 3 acrshort:dof) to 36 (6 solid bodies with 6 acrshort:dof). + +#+name: fig:modal_comp_acc_solid_body_frf +#+caption: Comparaison of the original accelerometer response (solid curves) and the reconstructed response from the solid body response (dashed curves). Accelerometers 1 to 4 corresponding to the micro-hexapod are shown. +#+RESULTS: +[[file:figs/modal_comp_acc_solid_body_frf.png]] *** Modal Analysis +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/modal_3_analysis.m +:END: +<> +**** Introduction :ignore: -** TODO Micro Station - Multi Body Model -# [[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A4-simscape-micro-station/simscape-micro-station.org][Simscape - Micro-Station]] +The goal here is to extract the modal parameters describing the modes of the micro station being studied, namely, the natural frequencies and the modal damping (i.e. the eigenvalues) as well as the mode shapes (.i.e. the eigenvectors). +This is performed from the acrshort:frf matrix previously extracted from the measurements. +In order to perform the modal parameter extraction, the order of the modal model has to be estimated (i.e. the number of modes in the frequency band of interest). +This is achived using the acrfull:mif in section ref:ssec:modal_number_of_modes. + +In section ref:ssec:modal_parameter_extraction, the modal parameter extraction is performed. +The graphical display of the mode shapes can be computed from the modal model, which is quite quite useful for physical interpretation of the modes. + +To validate the quality of the modal model, the full acrshort:frf matrix is computed from the modal model and compared to the initial measured acrshort:frf (section ref:ssec:modal_model_validity). + +**** Number of modes determination +<> +The acrshort:mif is here applied to the $n\times p$ acrshort:frf matrix where $n$ is a relatively large number of measurement DOFs (here $n=69$) and $p$ is the number of excitation DOFs (here $p=3$). + +The complex modal indication function is defined in equation eqref:eq:modal_cmif where the diagonal matrix $\Sigma$ is obtained from a acrlong:svd of the acrshort:frf matrix as shown in equation eqref:eq:modal_svd. +\begin{equation} \label{eq:modal_cmif} + [CMIF(\omega)]_{p\times p} = [\Sigma(\omega)]_{p\times n}^T [\Sigma(\omega)]_{n\times p} +\end{equation} + +\begin{equation} \label{eq:modal_svd} +[H(\omega)]_{n\times p} = [U(\omega)]_{n\times n} [\Sigma(\omega)]_{n\times p} [V(\omega)]_{p\times p}^H +\end{equation} + +The acrshort:mif therefore yields to $p$ values that are also frequency dependent. +A peak in the acrshort:mif plot indicates the presence of a mode. +Repeated modes can also be detected when multiple singular values have peaks at the same frequency. +The obtained acrshort:mif is shown on Figure ref:fig:modal_indication_function. +A total of 16 modes were found between 0 and $200\,\text{Hz}$. +The obtained natural frequencies and associated modal damping are summarized in Table ref:tab:modal_obtained_modes_freqs_damps. + +#+attr_latex: :options [b]{0.70\textwidth} +#+begin_minipage +#+name: fig:modal_indication_function +#+caption: Modal Indication Function +#+attr_latex: :float nil :scale 1 +[[file:figs/modal_indication_function.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.28\textwidth} +#+begin_minipage +#+begin_scriptsize +#+latex: \centering +#+attr_latex: :environment tabularx :width \linewidth :placement [b] :align ccc +#+attr_latex: :booktabs t :float nil :center nil +| Mode | Frequency | Damping | +|------+--------------------+------------| +| 1 | $11.9\,\text{Hz}$ | $12.2\,\%$ | +| 2 | $18.6\,\text{Hz}$ | $11.7\,\%$ | +| 3 | $37.8\,\text{Hz}$ | $6.2\,\%$ | +| 4 | $39.1\,\text{Hz}$ | $2.8\,\%$ | +| 5 | $56.3\,\text{Hz}$ | $2.8\,\%$ | +| 6 | $69.8\,\text{Hz}$ | $4.3\,\%$ | +| 7 | $72.5\,\text{Hz}$ | $1.3\,\%$ | +| 8 | $84.8\,\text{Hz}$ | $3.7\,\%$ | +| 9 | $91.3\,\text{Hz}$ | $2.9\,\%$ | +| 10 | $105.5\,\text{Hz}$ | $3.2\,\%$ | +| 11 | $106.6\,\text{Hz}$ | $1.6\,\%$ | +| 12 | $112.7\,\text{Hz}$ | $3.1\,\%$ | +| 13 | $124.2\,\text{Hz}$ | $2.8\,\%$ | +| 14 | $145.3\,\text{Hz}$ | $1.3\,\%$ | +| 15 | $150.5\,\text{Hz}$ | $2.4\,\%$ | +| 16 | $165.4\,\text{Hz}$ | $1.4\,\%$ | +#+latex: \captionof{table}{\label{tab:modal_obtained_modes_freqs_damps}Identified modes} +#+end_scriptsize +#+end_minipage + +**** Modal parameter extraction +<> + +Generally, modal identification consists of curve-fitting a theoretical expression to the actual measured acrshort:frf data. +However, there are multiple levels of complexity, from fitting of a single resonance, to fitting a complete curve encompassing several resonances and working on a set of many acrshort:frf plots all obtained from the same structure. + +Here, the last method is used because it provides a unique and consistent model. +It takes into account the fact that the properties of all individual curves are related by being from the same structure: all acrshort:frf plots on a given structure should indicate the same values for the natural frequencies and damping factor of each mode. + +From the obtained modal parameters, the mode shapes are computed and can be displayed in the form of animations (three mode shapes are shown in Figure ref:fig:modal_mode_animations). + +#+name: fig:modal_mode_animations +#+caption: Three obtained mode shape animations +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:modal_mode1_animation}$1^{st}$ mode at 11.9 Hz: tilt suspension mode of the granite} +#+attr_latex: :options {\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/modal_mode1_animation.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_mode6_animation}$6^{th}$ mode at 69.8 Hz: vertical resonance of the spindle} +#+attr_latex: :options {\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/modal_mode6_animation.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_mode13_animation}$13^{th}$ mode at 124.2 Hz: lateral micro-hexapod resonance} +#+attr_latex: :options {\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/modal_mode13_animation.jpg]] +#+end_subfigure +#+end_figure + +These animations are useful for visually obtaining a better understanding of the system's dynamic behavior. +For instance, the mode shape of the first mode at $11\,\text{Hz}$ (figure ref:fig:modal_mode1_animation) indicates an issue with the lower granite. +It turns out that four /Airloc Levelers/ are used to level the lower granite (figure ref:fig:modal_airloc). +These are difficult to adjust and can lead to a situation in which the granite is only supported by two of them; therefore, it has a low frequency "tilt mode". +The levelers were then better adjusted. + +#+name: fig:modal_airloc +#+caption: AirLoc used for the granite (2120-KSKC) +#+attr_latex: :width 0.6\linewidth +[[file:figs/modal_airlock_picture.jpg]] + +The modal parameter extraction is made using a proprietary software[fn:modal_4]. +For each mode $r$ (from $1$ to the number of considered modes $m=16$), it outputs the frequency $\omega_r$, the damping ratio $\xi_r$, the eigenvectors $\{\phi_{r}\}$ (vector of complex numbers with a size equal to the number of measured acrshort:dof $n=69$, see equation eqref:eq:modal_eigenvector) and a scaling factor $a_r$. + +\begin{equation}\label{eq:modal_eigenvector} +\{\phi_i\} = \begin{Bmatrix} \phi_{i, 1_x} & \phi_{i, 1_y} & \phi_{i, 1_z} & \phi_{i, 2_x} & \dots & \phi_{i, 23_z} \end{Bmatrix}^T +\end{equation} + +The eigenvalues $s_r$ and $s_r^*$ can then be computed from equation eqref:eq:modal_eigenvalues. + +\begin{equation}\label{eq:modal_eigenvalues} + s_r = \omega_r (-\xi_r + i \sqrt{1 - \xi_r^2}), \quad s_r^* = \omega_r (-\xi_r - i \sqrt{1 - \xi_r^2}) +\end{equation} + +**** Verification of the modal model validity +<> + +To check the validity of the modal model, the complete $n \times n$ acrshort:frf matrix $\mathbf{H}_{\text{syn}}$ is first synthesized from the modal parameters. +Then, the elements of this acrshort:frf matrix $\mathbf{H}_{\text{syn}}$ that were already measured can be compared to the measured acrshort:frf matrix $\mathbf{H}$. + +In order to synthesize the full acrshort:frf matrix, the eigenvectors $\phi_r$ are first organized in matrix from as shown in equation eqref:eq:modal_eigvector_matrix. +\begin{equation}\label{eq:modal_eigvector_matrix} +\Phi = \begin{bmatrix} + & & & & &\\ + \phi_1 & \dots & \phi_N & \phi_1^* & \dots & \phi_N^* \\ + & & & & & +\end{bmatrix}_{n \times 2m} +\end{equation} + +The full acrshort:frf matrix $\mathbf{H}_{\text{syn}}$ can be synthesize using eqref:eq:modal_synthesized_frf. + +\begin{equation}\label{eq:modal_synthesized_frf} + [\mathbf{H}_{\text{syn}}(\omega)]_{n\times n} = [\Phi]_{n\times2m} [\mathbf{H}_{\text{mod}}(\omega)]_{2m\times2m} [\Phi]_{2m\times n}^T +\end{equation} + +With $\mathbf{H}_{\text{mod}}(\omega)$ a diagonal matrix representing the response of the different modes eqref:eq:modal_modal_resp. +\begin{equation}\label{eq:modal_modal_resp} +\mathbf{H}_{\text{mod}}(\omega) = \text{diag}\left(\frac{1}{a_1 (j\omega - s_1)},\ \dots,\ \frac{1}{a_m (j\omega - s_m)}, \frac{1}{a_1^* (j\omega - s_1^*)},\ \dots,\ \frac{1}{a_m^* (j\omega - s_m^*)} \right)_{2m\times 2m} +\end{equation} + +A comparison between original measured frequency response functions and synthesized ones from the modal model is presented in Figure ref:fig:modal_comp_acc_frf_modal. +Whether the obtained match is good or bad is quite arbitrary. +However, the modal model seems to be able to represent the coupling between different nodes and different directions, which is quite important from a control perspective. +This can be seen in Figure ref:fig:modal_comp_acc_frf_modal_3 that shows the frequency response function from the force applied on node 11 (i.e. on the translation stage) in the $y$ direction to the measured acceleration at node $2$ (i.e. at the top of the micro-hexapod) in the $x$ direction. + +#+name: fig:modal_comp_acc_frf_modal +#+caption: Comparison of the measured FRF with the synthesized FRF from the modal model. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:modal_comp_acc_frf_modal_1}From $F_{11,z}$ to $a_{11,z}$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/modal_comp_acc_frf_modal_1.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_comp_acc_frf_modal_2}From $F_{11,z}$ to $a_{15,z}$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/modal_comp_acc_frf_modal_2.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:modal_comp_acc_frf_modal_3}From $F_{11,y}$ to $a_{2,x}$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/modal_comp_acc_frf_modal_3.png]] +#+end_subfigure +#+end_figure + +*** Conclusion +<> + +In this study, a modal analysis of the micro-station was performed. +Thanks to an adequate choice of instrumentation and proper set of measurements, high quality frequency response functions can be obtained. +The obtained frequency response functions indicate that the dynamics of the micro-station are complex, which is expected from a heavy stack stage architecture. +It shows a lot of coupling between stages and different directions, and many modes. + +By measuring 12 degrees of freedom on each "stage", it could be verified that in the frequency range of interest, each stage behaved as a rigid body. +This confirms that a multi-body model can be used to properly model the micro-station. + +Although a lot of effort was put into this experimental modal analysis of the micro-station, it was difficult to obtain an accurate modal model. +However, the measurements are useful for tuning the parameters of the micro-station multi-body model. + +** Micro Station - Multi Body Model *** Introduction :ignore: -#+name: fig:simscape_first_model_screenshot -#+caption: 3D view of the multi-body model of the micro-station -#+attr_latex: :width 0.7\linewidth -[[file:figs/simscape_first_model_screenshot.jpg]] +From the start of this work, it became increasingly clear that an accurate micro-station model was necessary. -*** Kinematics +First, during the uniaxial study, it became clear that the micro-station dynamics affects the nano-hexapod dynamics. +Then, using the 3-DoF rotating model, it was discovered that the rotation of the nano-hexapod induces gyroscopic effects that affect the system dynamics and should therefore be modeled. +Finally, a modal analysis of the micro-station showed how complex the dynamics of the station is. +The modal analysis also confirm that each stage behaves as a rigid body in the frequency range of interest. +Therefore, a multi-body model is a good candidate to accurately represent the micro-station dynamics. -[[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/kinematics.org::+TITLE: Kinematics of the station]] +In this report, the development of such a multi-body model is presented. -- Small overview of each stage and associated stiffnesses / inertia -- schematic that shows to considered DoF -- import from CAD +First, each stage of the micro-station is described. +The kinematics of the micro-station (i.e. how the motion of the stages are combined) is presented in Section ref:sec:ustation_kinematics. -*** Modal Analysis and Dynamic Modeling -# [[file:~/Cloud/work-projects/ID31-NASS/matlab/micro-station-modal-analysis/modal-analysis.org][modal-analysis]] +Then, the multi-body model is presented and tuned to match the measured dynamics of the micro-station (Section ref:sec:ustation_modeling). -- Picture of the experimental setup -- Location of accelerometers -- Show obtained modes -- Validation of rigid body assumption -- Explain how this helps tuning the multi-body model +Disturbances affecting the positioning accuracy also need to be modeled properly. +To do so, the effects of these disturbances were first measured experimental and then injected into the multi-body model (Section ref:sec:ustation_disturbances). -*** Disturbances and Positioning errors +To validate the accuracy of the micro-station model, "real world" experiments are simulated and compared with measurements in Section ref:sec:ustation_experiments. -*** Validation of the Model +# #+name: tab:ustation_section_matlab_code +# #+caption: Report sections and corresponding Matlab files +# #+attr_latex: :environment tabularx :width 0.6\linewidth :align lX +# #+attr_latex: :center t :booktabs t +# | *Sections* | *Matlab File* | +# |---------------------------------------+-----------------------------| +# | Section ref:sec:ustation_kinematics | =ustation_1_kinematics.m= | +# | Section ref:sec:ustation_modeling | =ustation_2_modeling.m= | +# | Section ref:sec:ustation_disturbances | =ustation_3_disturbances.m= | +# | Section ref:sec:ustation_experiments | =ustation_4_experiments.m= | -- Most important metric: support compliance -- Compare model and measurement +*** Micro-Station Kinematics +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/ustation_1_kinematics.m +:END: +<> +**** Introduction :ignore: + +The micro-station consists of 4 stacked positioning stages (Figure ref:fig:ustation_cad_view). +From bottom to top, the stacked stages are the translation stage $D_y$, the tilt stage $R_y$, the rotation stage (Spindle) $R_z$ and the positioning hexapod. +Such a stacked architecture allows high mobility, but the overall stiffness is reduced, and the dynamics is very complex. complex dynamics. + +#+name: fig:ustation_cad_view +#+caption: CAD view of the micro-station with the translation stage (in blue), tilt stage (in red), rotation stage (in yellow) and positioning hexapod (in purple). On top of these four stages, a solid part (shown in green) will be replaced by the stabilization stage. +#+attr_latex: :width \linewidth +[[file:figs/ustation_cad_view.png]] + +There are different ways of modeling the stage dynamics in a multi-body model. +The one chosen in this work consists of modeling each stage by two solid bodies connected by one 6-DoF joint. +The stiffness and damping properties of the joint +s can be tuned separately for each DoF. + +The "controlled" DoF of each stage (for instance the $D_y$ direction for the translation stage) is modeled as infinitely rigid (i.e. its motion is imposed by a "setpoint") while the other DoFs have limited stiffness to model the different micro-station modes. + +**** Motion Stages +<> + +***** Translation Stage + +The translation stage is used to position and scan the sample laterally with respect to the X-ray beam. + +A linear motor was first used to enable fast and accurate scans. +It was later replaced with a stepper motor and lead-screw, as the feedback control used for the linear motor was unreliable[fn:ustation_12]. +An optical linear encoder is used to measure the stage motion and for controlling the position. + +Four cylindrical bearings[fn:ustation_4] are used to guide the motion (i.e. minimize the parasitic motions) and have high stiffness. + +***** Tilt Stage + +The tilt stage is guided by four linear motion guides[fn:ustation_1] which are placed such that the center of rotation coincide with the X-ray beam. +Each linear guide is very stiff in radial directions such that the only DoF with low stiffness is in $R_y$. + +This stage is mainly used in /reflectivity/ experiments where the sample $R_y$ angle is scanned. +This stage can also be used to tilt the rotation axis of the Spindle. + +To precisely control the $R_y$ angle, a stepper motor and two optical encoders are used in a PID feedback loop. + +#+attr_latex: :options [b]{0.48\textwidth} +#+begin_minipage +#+name: fig:ustation_ty_stage +#+caption: Translation Stage +#+attr_latex: :scale 1 :float nil +[[file:figs/ustation_ty_stage.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.48\textwidth} +#+begin_minipage +#+name: fig:ustation_ry_stage +#+caption: Tilt Stage +#+attr_latex: :scale 1 :float nil +[[file:figs/ustation_ry_stage.png]] +#+end_minipage + +***** Spindle + +Then, a rotation stage is used for tomography experiments. +It is composed of an air bearing spindle[fn:ustation_2], whose angular position is controlled with a 3 phase synchronous motor based on the reading of 4 optical encoders. + +Additional rotary unions and slip-rings are used to be able to pass electrical signals, fluids and gazes through the rotation stage. + +***** Micro-Hexapod + +Finally, a Stewart platform[fn:ustation_3] is used to position the sample. +It includes a DC motor and an optical linear encoders in each of the six struts. + +This stage is used to position the point of interest of the sample with respect to the spindle rotation axis. +It can also be used to precisely position the PoI vertically with respect to the x-ray. + +#+attr_latex: :options [t]{0.49\textwidth} +#+begin_minipage +#+name: fig:ustation_rz_stage +#+caption: Rotation Stage (Spindle) +#+attr_latex: :scale 1 :float nil +[[file:figs/ustation_rz_stage.png]] +#+end_minipage +\hfill +#+attr_latex: :options [t]{0.49\textwidth} +#+begin_minipage +#+name: fig:ustation_hexapod_stage +#+caption: Micro Hexapod +#+attr_latex: :scale 1 :float nil +[[file:figs/ustation_hexapod_stage.png]] +#+end_minipage + +**** Mathematical description of a rigid body motion +<> +***** Introduction :ignore: + +In this section, mathematical tools[fn:ustation_6] that are used to describe the motion of positioning stages are introduced. + +First, the tools to describe the pose of a solid body (i.e. it's position and orientation) are introduced. +The motion induced by a positioning stage is described by transformation matrices. +Finally, the motions of all stacked stages are combined, and the sample's motion is computed from each stage motion. + +***** Spatial motion representation + +The /pose/ of a solid body relative to a specific frame can be described by six independent parameters. +Three parameters are typically used to describe its position, and three other parameters describe its orientation. + +The /position/ of a point $P$ with respect to a frame $\{A\}$ can be described by a $3 \times 1$ position vector eqref:eq:ustation_position. +The name of the frame is usually added as a leading superscript: ${}^AP$ which reads as vector $P$ in frame $\{A\}$. + +\begin{equation}\label{eq:ustation_position} + {}^AP = \begin{bmatrix} P_x\\ P_y\\ P_z \end{bmatrix} +\end{equation} + +A pure translation of a solid body (i.e., of a frame $\{B\}$ attached to the solid body) can be described by the position ${}^AP_{O_B}$ as shown in Figure ref:fig:ustation_translation. + +#+name: fig:ustation_transformation_schematics +#+caption: Rigid body motion representation. \subref{fig:ustation_translation} pure translation. \subref{fig:ustation_rotation} pure rotation. \subref{fig:ustation_transformation} combined rotation and translation. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_translation}Pure translation} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.8 +[[file:figs/ustation_translation.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_rotation}Pure rotation} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.8 +[[file:figs/ustation_rotation.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_transformation}General transformation} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.8 +[[file:figs/ustation_transformation.png]] +#+end_subfigure +#+end_figure + +The /orientation/ of a rigid body is the same at all its points (by definition). +Hence, the orientation of a rigid body can be viewed as that of a moving frame attached to the rigid body. +It can be represented in several different ways: the rotation matrix, the screw axis representation, and the Euler angles are common descriptions. + +The rotation matrix ${}^A\bm{R}_B$ is a $3 \times 3$ matrix containing the Cartesian unit vectors of frame $\{\bm{B}\}$ represented in frame $\{\bm{A}\}$ eqref:eq:ustation_rotation_matrix. + +\begin{equation}\label{eq:ustation_rotation_matrix} + {}^A\bm{R}_B = \left[ {}^A\hat{\bm{x}}_B | {}^A\hat{\bm{y}}_B | {}^A\hat{\bm{z}}_B \right] = \begin{bmatrix} + u_{x} & v_{x} & z_{x} \\ + u_{y} & v_{y} & z_{y} \\ + u_{z} & v_{z} & z_{z} + \end{bmatrix} +\end{equation} + +Consider a pure rotation of a rigid body ($\{\bm{A}\}$ and $\{\bm{B}\}$ are coincident at their origins, as shown in Figure ref:fig:ustation_rotation). +The rotation matrix can be used to express the coordinates of a point $P$ in a fixed frame $\{A\}$ (i.e. ${}^AP$) from its coordinate in the moving frame $\{B\}$ using Equation eqref:eq:ustation_rotation. + +\begin{equation} \label{eq:ustation_rotation} + {}^AP = {}^A\bm{R}_B {}^BP +\end{equation} + +For rotations along $x$, $y$ or $z$ axis, the formulas of the corresponding rotation matrices are given in Equation eqref:eq:ustation_rotation_matrices_xyz. + +\begin{subequations}\label{eq:ustation_rotation_matrices_xyz} +\begin{align} +\bm{R}_x(\theta_x) &= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(\theta_x) & -\sin(\theta_x) \\ 0 & \sin(\theta_x) & \cos(\theta_x) \end{bmatrix} \\ +\bm{R}_y(\theta_y) &= \begin{bmatrix} \cos(\theta_y) & 0 & \sin(\theta_y) \\ 0 & 1 & 0 \\ -\sin(\theta_y) & 0 & \cos(\theta_y) \end{bmatrix} \\ +\bm{R}_z(\theta_z) &= \begin{bmatrix} \cos(\theta_z) & -\sin(\theta_z) & 0 \\ \sin(\theta_z) & \cos(\theta_x) & 0 \\ 0 & 0 & 1 \end{bmatrix} +\end{align} +\end{subequations} + +Sometimes, it is useful to express a rotation as a combination of three rotations described by $\bm{R}_x$, $\bm{R}_y$ and $\bm{R}_z$. +The order of rotation is very important[fn:ustation_5], therefore, in this study, rotations are expressed as three successive rotations about the coordinate axes of the moving frame eqref:eq:ustation_rotation_combination. + +\begin{equation}\label{eq:ustation_rotation_combination} +{}^A\bm{R}_B(\alpha, \beta, \gamma) = \bm{R}_u(\alpha) \bm{R}_v(\beta) \bm{R}_c(\gamma) +\end{equation} + +Such rotation can be parameterized by three Euler angles $(\alpha,\ \beta,\ \gamma)$, which can be computed from a given rotation matrix using equations eqref:eq:ustation_euler_angles. + +\begin{subequations}\label{eq:ustation_euler_angles} +\begin{align} +\alpha &= \text{atan2}(-R_{23}/\cos(\beta),\ R_{33}/\cos(\beta)) \\ +\beta &= \text{atan2}( R_{13},\ \sqrt{R_{11}^2 + R_{12}^2}) \\ +\gamma &= \text{atan2}(-R_{12}/\cos(\beta),\ R_{11}/\cos(\beta)) +\end{align} +\end{subequations} + +***** Motion of a Rigid Body + +Since the relative positions of a rigid body with respect to a moving frame $\{B\}$ attached to it are fixed for all time, it is sufficient to know the position of the origin of the frame $O_B$ and the orientation of the frame $\{B\}$ with respect to the fixed frame $\{A\}$, to represent the position of any point $P$ in the space. + +Therefore, the pose of a rigid body can be fully determined by: +1. The position vector of point $O_B$ with respect to frame $\{A\}$ which is denoted ${}^AP_{O_B}$ +2. The orientation of the rigid body, or the moving frame $\{B\}$ attached to it with respect to the fixed frame $\{A\}$, that is represented by ${}^A\bm{R}_B$. + +The position of any point $P$ of the rigid body with respect to the fixed frame $\{\bm{A}\}$, which is denoted ${}^A\bm{P}$ may be determined thanks to the /Chasles' theorem/, which states that if the pose of a rigid body $\{{}^A\bm{R}_B, {}^AP_{O_B}\}$ is given, then the position of any point $P$ of this rigid body with respect to $\{\bm{A}\}$ is given by Equation eqref:eq:ustation_chasles_therorem. + +\begin{equation} \label{eq:ustation_chasles_therorem} + {}^AP = {}^A\bm{R}_B {}^BP + {}^AP_{O_B} +\end{equation} + +While equation eqref:eq:ustation_chasles_therorem can describe the motion of a rigid body, it can be written in a more convenient way using $4 \times 4$ homogeneous transformation matrices and $4 \times 1$ homogeneous coordinates. +The homogeneous transformation matrix is composed of the rotation matrix ${}^A\bm{R}_B$ representing the orientation and the position vector ${}^AP_{O_B}$ representing the translation. +It is partitioned as shown in Equation eqref:eq:ustation_homogeneous_transformation_parts. + +\begin{equation}\label{eq:ustation_homogeneous_transformation_parts} + {}^A\bm{T}_B = + \left[ \begin{array}{ccc|c} + & & & \\ + & {}^A\bm{R}_B & & {}^AP_{O_B} \\ + & & & \cr + \hline + 0 & 0 & 0 & 1 + \end{array} \right] +\end{equation} + +Then, ${}^AP$ can be computed from ${}^BP$ and the homogeneous transformation matrix using eqref:eq:ustation_homogeneous_transformation. + +\begin{equation}\label{eq:ustation_homogeneous_transformation} + \left[ \begin{array}{c} \\ {}^AP \\ \cr \hline 1 \end{array} \right] + = + \left[ \begin{array}{ccc|c} + & & & \\ + & {}^A\bm{R}_B & & {}^AP_{O_B} \\ + & & & \cr + \hline + 0 & 0 & 0 & 1 + \end{array} \right] + \left[ \begin{array}{c} \\ {}^BP \\ \cr \hline 1 \end{array} \right] \quad \Rightarrow \quad {}^AP = {}^A\bm{R}_B {}^BP + {}^AP_{O_B} +\end{equation} + +One key advantage of homogeneous transformation is that it can easily be generalized for consecutive transformations. +Let us consider the motion of a rigid body described at three locations (Figure ref:fig:ustation_combined_transformation). +Frame $\{A\}$ represents the initial location, frame $\{B\}$ is an intermediate location, and frame $\{C\}$ represents the rigid body at its final location. + +#+name: fig:ustation_combined_transformation +#+caption: Motion of a rigid body represented at three locations by frame $\{A\}$, $\{B\}$ and $\{C\}$ +[[file:figs/ustation_combined_transformation.png]] + +Furthermore, suppose the position vector of a point $P$ of the rigid body is given in the final location, that is ${}^CP$ is given, and the position of this point is to be found in the fixed frame $\{A\}$, that is ${}^AP$. +Since the locations of the rigid body are known relative to each other, ${}^CP$ can be transformed to ${}^BP$ using ${}^B\bm{T}_C$ using ${}^BP = {}^B\bm{T}_C {}^CP$. +Similarly, ${}^BP$ can be transformed into ${}^AP$ using ${}^AP = {}^A\bm{T}_B {}^BP$. + +Combining the two relations, Equation eqref:eq:ustation_consecutive_transformations is obtained. +This shows that combining multiple transformations is equivalent as to compute $4 \times 4$ matrix multiplications. + +\begin{equation}\label{eq:ustation_consecutive_transformations} +{}^AP = \underbrace{{}^A\bm{T}_B {}^B\bm{T}_C}_{{}^A\bm{T}_C} {}^CP +\end{equation} + +Another key advantage of homogeneous transformation is the easy inverse transformation, which can be computed using Equation eqref:eq:ustation_inverse_homogeneous_transformation. + +\begin{equation}\label{eq:ustation_inverse_homogeneous_transformation} + {}^B\bm{T}_A = {}^A\bm{T}_B^{-1} = + \left[ \begin{array}{ccc|c} + & & & \\ + & {}^A\bm{R}_B^T & & -{}^A \bm{R}_B^T {}^AP_{O_B} \\ + & & & \cr + \hline + 0 & 0 & 0 & 1 \\ + \end{array} \right] +\end{equation} + +**** Micro-Station Kinematics +<> + +Each stage is described by two frames; one is attached to the fixed platform $\{A\}$ while the other is fixed to the mobile platform $\{B\}$. +At "rest" position, the two have the same pose and coincide with the point of interest ($O_A = O_B$). +An example of the tilt stage is shown in Figure ref:fig:ustation_stage_motion. +The mobile frame of the translation stage is equal to the fixed frame of the tilt stage: $\{B_{D_y}\} = \{A_{R_y}\}$. +Similarly, the mobile frame of the tilt stage is equal to the fixed frame of the spindle: $\{B_{R_y}\} = \{A_{R_z}\}$. + +#+name: fig:ustation_stage_motion +#+caption: Example of the motion induced by the tilt-stage $R_y$. "Rest" position in shown in blue while a arbitrary position in shown in red. Parasitic motions are here magnified for clarity. +[[file:figs/ustation_stage_motion.png]] + +The motion induced by a positioning stage can be described by a homogeneous transformation matrix from frame $\{A\}$ to frame $\{B\}$ as explain in Section ref:ssec:ustation_kinematics. +As any motion stage induces parasitic motion in all 6 DoF, the transformation matrix representing its induced motion can be written as in eqref:eq:ustation_translation_stage_errors. + +\begin{equation}\label{eq:ustation_translation_stage_errors} +{}^A\bm{T}_B(D_x, D_y, D_z, \theta_x, \theta_y, \theta_z) = +\left[ \begin{array}{ccc|c} + & & & D_x \\ + & \bm{R}_x(\theta_x) \bm{R}_y(\theta_y) \bm{R}_z(\theta_z) & & D_y \\ + & & & D_z \cr + \hline + 0 & 0 & 0 & 1 +\end{array} \right] +\end{equation} + +The homogeneous transformation matrix corresponding to the micro-station $\bm{T}_{\mu\text{-station}}$ is simply equal to the matrix multiplication of the homogeneous transformation matrices of the individual stages as shown in Equation eqref:eq:ustation_transformation_station. + +\begin{equation}\label{eq:ustation_transformation_station} +\bm{T}_{\mu\text{-station}} = \bm{T}_{D_y} \cdot \bm{T}_{R_y} \cdot \bm{T}_{R_z} \cdot \bm{T}_{\mu\text{-hexapod}} +\end{equation} + +$\bm{T}_{\mu\text{-station}}$ represents the pose of the sample (supposed to be rigidly fixed on top of the positioning-hexapod) with respect to the granite. + +If the transformation matrices of the individual stages are each representing a perfect motion (i.e. the stages are supposed to have no parasitic motion), $\bm{T}_{\mu\text{-station}}$ then represent the pose setpoint of the sample with respect to the granite. +The transformation matrices for the translation stage, tilt stage, spindle, and positioning hexapod can be written as shown in Equation eqref:eq:ustation_transformation_matrices_stages. + +\begin{equation}\label{eq:ustation_transformation_matrices_stages} +\begin{align} +\bm{T}_{D_y} &= \begin{bmatrix} + 1 & 0 & 0 & 0 \\ + 0 & 1 & 0 & D_y \\ + 0 & 0 & 1 & 0 \\ + 0 & 0 & 0 & 1 +\end{bmatrix} \quad +\bm{T}_{\mu\text{-hexapod}} = +\left[ \begin{array}{ccc|c} + & & & D_{\mu x} \\ + & \bm{R}_x(\theta_{\mu x}) \bm{R}_y(\theta_{\mu y}) \bm{R}_{z}(\theta_{\mu z}) & & D_{\mu y} \\ + & & & D_{\mu z} \cr + \hline + 0 & 0 & 0 & 1 +\end{array} \right] \\ +\bm{T}_{R_z} &= \begin{bmatrix} + \cos(\theta_z) & -\sin(\theta_z) & 0 & 0 \\ + \sin(\theta_z) & \cos(\theta_z) & 0 & 0 \\ + 0 & 0 & 1 & 0 \\ + 0 & 0 & 0 & 1 +\end{bmatrix} \quad +\bm{T}_{R_y} = \begin{bmatrix} + \cos(\theta_y) & 0 & \sin(\theta_y) & 0 \\ + 0 & 1 & 0 & 0 \\ + -\sin(\theta_y) & 0 & \cos(\theta_y) & 0 \\ + 0 & 0 & 0 & 1 +\end{bmatrix} +\end{align} +\end{equation} + +*** Micro-Station Dynamics +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/ustation_2_modeling.m +:END: +<> +**** Introduction :ignore: + +In this section, the multi-body model of the micro-station is presented. +Such model consists of several rigid bodies connected by springs and dampers. +The inertia of the solid bodies and the stiffness properties of the guiding mechanisms were first estimated based on the CAD model and data-sheets (Section ref:ssec:ustation_model_simscape). + +The obtained dynamics is then compared with the modal analysis performed on the micro-station (Section ref:ssec:ustation_model_comp_dynamics). + +# TODO - Add reference to uniaxial model +As the dynamics of the nano-hexapod is impacted by the micro-station compliance, the most important dynamical characteristic that should be well modeled is the overall compliance of the micro-station. +To do so, the 6-DoF compliance of the micro-station is measured and then compared with the 6-DoF compliance extracted from the multi-body model (Section ref:ssec:ustation_model_compliance). + +**** Multi-Body Model +<> + +By performing a modal analysis of the micro-station, it was verified that in the frequency range of interest, each stage behaved as a rigid body. +This confirms that a multi-body model can be used to properly model the micro-station. + +A multi-body model consists of several solid bodies connected by joints. +Each solid body can be represented by its inertia properties (most of the time computed automatically from the 3D model and material density). +Joints are used to impose kinematic constraints between solid bodies and to specify dynamical properties (i.e. spring stiffness and damping coefficient). +External forces can be used to model disturbances, and "sensors" can be used to measure the relative pose between two defined frames. + +#+name: fig:ustation_simscape_stage_example +#+caption: Example of a stage (here the tilt-stage) represented in the multi-body model software (Simscape). It is composed of two solid bodies connected by a 6-DoF joint. One joint DoF (here the tilt angle) can be imposed, the other DoFs are represented by springs and dampers. Additional disturbances forces for all DoF can be included +[[file:figs/ustation_simscape_stage_example.png]] + +Therefore, the micro-station is modeled by several solid bodies connected by joints. +A typical stage (here the tilt-stage) is modeled as shown in Figure ref:fig:ustation_simscape_stage_example where two solid bodies (the fixed part and the mobile part) are connected by a 6-DoF joint. +One DoF of the 6-DoF joint is "imposed" by a setpoint (i.e. modeled as infinitely stiff), while the other 5 are each modeled by a spring and damper. +Additional forces can be used to model disturbances induced by the stage motion. +The obtained 3D representation of the multi-body model is shown in Figure ref:fig:ustation_simscape_model. + +#+name: fig:ustation_simscape_model +#+caption: 3D view of the micro-station multi-body model +#+attr_latex: :width 0.8\linewidth +[[file:figs/ustation_simscape_model.jpg]] + +The ground is modeled by a solid body connected to the "world frame" through a joint only allowing 3 translations. +The granite was then connected to the ground using a 6-DoF joint. +The translation stage is connected to the granite by a 6-DoF joint, but the $D_y$ motion is imposed. +Similarly, the tilt-stage and the spindle are connected to the stage below using a 6-DoF joint, with 1 imposed DoF each time. +Finally, the positioning hexapod has 6-DoF. + +The total number of "free" degrees of freedom is 27, so the model has 54 states. +The springs and dampers values were first estimated from the joint/stage specifications and were later fined-tuned based on the measurements. +The spring values are summarized in Table ref:tab:ustation_6dof_stiffness_values. + +#+name: tab:ustation_6dof_stiffness_values +#+caption: Summary of the stage stiffnesses. The contrained degrees-of-freedom are indicated by "-". The frames in which the 6-DoF joints are defined are indicated in figures found in Section ref:ssec:ustation_stages +#+attr_latex: :environment tabularx :width \linewidth :align Xcccccc +#+attr_latex: :center t :booktabs t +| *Stage* | $D_x$ | $D_y$ | $D_z$ | $R_x$ | $R_y$ | $R_z$ | +|-------------+-----------------+-----------------+-----------------+-------------------------+------------------------+-------------------------| +| Granite | $5\,kN/\mu m$ | $5\,kN/\mu m$ | $5\,kN/\mu m$ | $25\,Nm/\mu\text{rad}$ | $25\,Nm/\mu\text{rad}$ | $10\,Nm/\mu\text{rad}$ | +| Translation | $200\,N/\mu m$ | - | $200\,N/\mu m$ | $60\,Nm/\mu\text{rad}$ | $90\,Nm/\mu\text{rad}$ | $60\,Nm/\mu\text{rad}$ | +| Tilt | $380\,N/\mu m$ | $400\,N/\mu m$ | $380\,N/\mu m$ | $120\,Nm/\mu\text{rad}$ | - | $120\,Nm/\mu\text{rad}$ | +| Spindle | $700\,N/\mu m$ | $700\,N/\mu m$ | $2\,kN/\mu m$ | $10\,Nm/\mu\text{rad}$ | $10\,Nm/\mu\text{rad}$ | - | +| Hexapod | $10\,N/\mu m$ | $10\,N/\mu m$ | $100\,N/\mu m$ | $1.5\,Nm/rad$ | $1.5\,Nm/rad$ | $0.27\,Nm/rad$ | + +**** Comparison with the measured dynamics +<> + +The dynamics of the micro-station was measured by placing accelerometers on each stage and by impacting the translation stage with an instrumented hammer in three directions. +The obtained FRFs were then projected at the CoM of each stage. + +To gain a first insight into the accuracy of the obtained model, the FRFs from the hammer impacts to the acceleration of each stage were extracted from the multi-body model and compared with the measurements in Figure ref:fig:ustation_comp_com_response. + +Even though there is some similarity between the model and the measurements (similar overall shapes and amplitudes), it is clear that the multi-body model does not accurately represent the complex micro-station dynamics. +Tuning the numerous model parameters to better match the measurements is a highly non-linear optimization problem that is difficult to solve in practice. + +#+name: fig:ustation_comp_com_response +#+caption: FRFs between the hammer impacts on the translation stage and the measured stage acceleration expressed at its CoM. Comparison of the measured and extracted FRFs from the multi-body model. Different directions are computed for different stages. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_comp_com_response_rz_x}Spindle, $x$ response} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_comp_com_response_rz_x.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_comp_com_response_hexa_y}Hexapod, $y$ response} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_comp_com_response_hexa_y.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_comp_com_response_ry_z}Tilt, $z$ response} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_comp_com_response_ry_z.png]] +#+end_subfigure +#+end_figure + +**** Micro-station compliance +<> + +As discussed in the previous section, the dynamics of the micro-station is complex, and tuning the multi-body model parameters to obtain a perfect match is difficult. + +When considering the NASS, the most important dynamical characteristics of the micro-station is its compliance, as it can affect the plant dynamics. +Therefore, the adopted strategy is to accurately model the micro-station compliance. + +The micro-station compliance was experimentally measured using the setup illustrated in Figure ref:fig:ustation_compliance_meas. +Four 3-axis accelerometers were fixed to the micro-hexapod top platform. +The micro-hexapod top platform was impacted at 10 different points. +For each impact position, 10 impacts were performed to average and improve the data quality. + +#+name: fig:ustation_compliance_meas +#+caption: Schematic of the measurement setup used to estimate the compliance of the micro-station. The top platform of the positioning hexapod is shown with four 3-axis accelerometers (shown in red) are on top. 10 hammer impacts are performed at different locations (shown in blue). +[[file:figs/ustation_compliance_meas.png]] + +To convert the 12 acceleration signals $a_{\mathcal{L}} = [a_{1x}\ a_{1y}\ a_{1z}\ a_{2x}\ \dots\ a_{4z}]$ to the acceleration expressed in the frame $\{\mathcal{X}\}$ $a_{\mathcal{X}} = [a_{dx}\ a_{dy}\ a_{dz}\ a_{rx}\ a_{ry}\ a_{rz}]$, a Jacobian matrix $\bm{J}_a$ is written based on the positions and orientations of the accelerometers eqref:eq:ustation_compliance_acc_jacobian. + +\begin{equation}\label{eq:ustation_compliance_acc_jacobian} +\bm{J}_a = \begin{bmatrix} +1 & 0 & 0 & 0 & 0 &-d \\ +0 & 1 & 0 & 0 & 0 & 0 \\ +0 & 0 & 1 & d & 0 & 0 \\ +1 & 0 & 0 & 0 & 0 & 0 \\ +0 & 1 & 0 & 0 & 0 &-d \\ +0 & 0 & 1 & 0 & d & 0 \\ +1 & 0 & 0 & 0 & 0 & d \\ +0 & 1 & 0 & 0 & 0 & 0 \\ +0 & 0 & 1 &-d & 0 & 0 \\ +1 & 0 & 0 & 0 & 0 & 0 \\ +0 & 1 & 0 & 0 & 0 & d \\ +0 & 0 & 1 & 0 &-d & 0 +\end{bmatrix} +\end{equation} + +Then, the acceleration in the cartesian frame can be computed using eqref:eq:ustation_compute_cart_acc. + +\begin{equation}\label{eq:ustation_compute_cart_acc} +a_{\mathcal{X}} = \bm{J}_a^\dagger \cdot a_{\mathcal{L}} +\end{equation} + +Similar to what is done for the accelerometers, a Jacobian matrix $\bm{J}_F$ is computed eqref:eq:ustation_compliance_force_jacobian and used to convert the individual hammer forces $F_{\mathcal{L}}$ to force and torques $F_{\mathcal{X}}$ applied at the center of the micro-hexapod top plate (defined by frame $\{\mathcal{X}\}$ in Figure ref:fig:ustation_compliance_meas). + +\begin{equation}\label{eq:ustation_compliance_force_jacobian} +\bm{J}_F = \begin{bmatrix} + 0 & -1 & 0 & 0 & 0 & 0\\ + 0 & 0 & -1 & -d & 0 & 0\\ + 1 & 0 & 0 & 0 & 0 & 0\\ + 0 & 0 & -1 & 0 & -d & 0\\ + 0 & 1 & 0 & 0 & 0 & 0\\ + 0 & 0 & -1 & d & 0 & 0\\ +-1 & 0 & 0 & 0 & 0 & 0\\ + 0 & 0 & -1 & 0 & d & 0\\ +-1 & 0 & 0 & 0 & 0 & -d\\ +-1 & 0 & 0 & 0 & 0 & d +\end{bmatrix} +\end{equation} + +The equivalent forces and torques applied at center of $\{\mathcal{X}\}$ are then computed using eqref:eq:ustation_compute_cart_force. + +\begin{equation}\label{eq:ustation_compute_cart_force} +F_{\mathcal{X}} = \bm{J}_F^t \cdot F_{\mathcal{L}} +\end{equation} + +Using the two Jacobian matrices, the FRF from the 10 hammer impacts to the 12 accelerometer outputs can be converted to the FRF from 6 forces/torques applied at the origin of frame $\{\mathcal{X}\}$ to the 6 linear/angular accelerations of the top platform expressed with respect to $\{\mathcal{X}\}$. +These FRFs were then used for comparison with the multi-body model. + +The compliance of the micro-station multi-body model was extracted by computing the transfer function from forces/torques applied on the hexapod's top platform to the "absolute" motion of the top platform. +These results are compared with the measurements in Figure ref:fig:ustation_frf_compliance_model. +Considering the complexity of the micro-station compliance dynamics, the model compliance matches sufficiently well for the current application. + +#+name: fig:ustation_frf_compliance_model +#+caption: Compliance of the micro-station expressed in frame $\{\mathcal{X}\}$. The measured FRFs are display by solid lines, while the FRFs extracted from the multi-body models are shown by dashed lines. Both translation terms \subref{fig:ustation_frf_compliance_xyz_model} and rotational terms \subref{fig:ustation_frf_compliance_Rxyz_model} are displayed. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_frf_compliance_xyz_model}Compliance in translation} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/ustation_frf_compliance_xyz_model.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_frf_compliance_Rxyz_model}Compliance in rotation} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/ustation_frf_compliance_Rxyz_model.png]] +#+end_subfigure +#+end_figure + +*** Estimation of Disturbances +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/ustation_3_disturbances.m +:END: +<> +**** Introduction :ignore: + +The goal of this section is to obtain a realistic representation of disturbances affecting the micro-station. +These disturbance sources are then used during time domain simulations to accurately model the micro-station behavior. +The focus on stochastic disturbances because, in principle, it is possible to calibrate the repeatable part of disturbances. +Such disturbances include ground motions and vibrations induces by scanning the translation stage and the spindle. + +In the multi-body model, stage vibrations are modeled as internal forces applied in the stage joint. +In practice, disturbance forces cannot be directly measured. +Instead, the vibrations of the micro-station's top platform induced by the disturbances were measured (Section ref:ssec:ustation_disturbances_meas). + +To estimate the equivalent disturbance force that induces such vibration, the transfer functions from disturbance sources (i.e. forces applied in the stages' joint) to the displacements of the micro-station's top platform with respect to the granite are extracted from the multi-body model (Section ref:ssec:ustation_disturbances_sensitivity). +Finally, the obtained disturbance sources are compared in Section ref:ssec:ustation_disturbances_results. + +**** Disturbance measurements +<> +***** Introduction :ignore: +In this section, ground motion is directly measured using geophones. +Vibrations induced by scanning the translation stage and the spindle are also measured using dedicated setups. + +The tilt stage and the micro-hexapod also have positioning errors; however, they are not modeled here because these two stages are only used for pre-positioning and not for scanning. +Therefore, from a control perspective, they are not important. + +***** Ground Motion + +The ground motion was measured by using a sensitive 3-axis geophone[fn:ustation_11] placed on the ground. +The generated voltages were recorded with a high resolution DAC, and converted to displacement using the Geophone sensitivity transfer function. +The obtained ground motion displacement is shown in Figure ref:fig:ustation_ground_disturbance. + +#+attr_latex: :options [b]{0.54\textwidth} +#+begin_minipage +#+name: fig:ustation_ground_disturbance +#+caption: Measured ground motion +#+attr_latex: :scale 1 :float nil +[[file:figs/ustation_ground_disturbance.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.44\textwidth} +#+begin_minipage +#+name: fig:ustation_geophone_picture +#+caption: (3D) L-4C geophone +#+attr_latex: :width 0.92\linewidth :float nil +[[file:figs/ustation_geophone_picture.jpg]] +#+end_minipage + +***** Ty Stage + +To measure the positioning errors of the translation stage, the setup shown in Figure ref:fig:ustation_errors_ty_setup is used. +A special optical element (called a "straightness interferometer"[fn:ustation_9]) is fixed on top of the micro-station, while a laser source[fn:ustation_10] and a straightness reflector are fixed on the ground. +A similar setup was used to measure the horizontal deviation (i.e. in the $x$ direction), as well as the pitch and yaw errors of the translation stage. + +#+name: fig:ustation_errors_ty_setup +#+caption: Experimental setup to measure the flatness (vertical deviation) of the translation stage +[[file:figs/ustation_errors_ty_setup.png]] + +Six scans were performed between $-4.5\,mm$ and $4.5\,mm$. +The results for each individual scan are shown in Figure ref:fig:ustation_errors_dy_vertical. +The measurement axis may not be perfectly aligned with the translation stage axis; this, a linear fit is removed from the measurement. +The remaining vertical displacement is shown in Figure ref:fig:ustation_errors_dy_vertical_remove_mean. +A vertical error of $\pm300\,nm$ induced by the translation stage is expected. +Similar result is obtained for the $x$ lateral direction. + +#+name: fig:ustation_errors_dy +#+caption: Measurement of the linear (vertical) deviation of the Translation stage \subref{fig:ustation_errors_dy_vertical}. A linear fit is then removed from the data \subref{fig:ustation_errors_dy_vertical_remove_mean}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_dy_vertical}Measured vertical error} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/ustation_errors_dy_vertical.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_dy_vertical_remove_mean}Error after removing linear fit} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/ustation_errors_dy_vertical_remove_mean.png]] +#+end_subfigure +#+end_figure + +***** Spindle + +To measure the positioning errors induced by the Spindle, a "Spindle error analyzer"[fn:ustation_7] is used as shown in Figure ref:fig:ustation_rz_meas_lion_setup. +A specific target is fixed on top of the micro-station, which consists of two sphere with 1 inch diameter precisely aligned with the spindle rotation axis. +Five capacitive sensors[fn:ustation_8] are pointing at the two spheres, as shown in Figure ref:fig:ustation_rz_meas_lion_zoom. +From the 5 measured displacements $[d_1,\,d_2,\,d_3,\,d_4,\,d_5]$, the translations and rotations $[D_x,\,D_y,\,D_z,\,R_x,\,R_y]$ of the target can be estimated. + +#+name: fig:ustation_rz_meas_lion_setup +#+caption: Experimental setup used to estimate the errors induced by the Spindle rotation \subref{fig:ustation_rz_meas_lion}. The motion of the two reference spheres is measured using 5 capacitive sensors \subref{fig:ustation_rz_meas_lion_zoom} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_rz_meas_lion}Micro-station and 5-DoF metrology} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_rz_meas_lion.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_rz_meas_lion_zoom}Zoom on the metrology system} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_rz_meas_lion_zoom.jpg]] +#+end_subfigure +#+end_figure + +A measurement was performed during a constant rotational velocity of the spindle of 60rpm and during 10 turns. +The obtained results are shown in Figure ref:fig:ustation_errors_spindle. +A large fraction of the radial (Figure ref:fig:ustation_errors_spindle_radial) and tilt (Figure ref:fig:ustation_errors_spindle_tilt) errors is linked to the fact that the two spheres are not perfectly aligned with the rotation axis of the Spindle. +This is displayed by the dashed circle. +After removing the best circular fit from the data, the vibrations induced by the Spindle may be viewed as stochastic disturbances. +However, some misalignment between the "point-of-interest" of the sample and the rotation axis will be considered because the alignment is not perfect in practice. +The vertical motion induced by scanning the spindle is in the order of $\pm 30\,nm$ (Figure ref:fig:ustation_errors_spindle_axial). + +#+name: fig:ustation_errors_spindle +#+caption: Measurement of the radial \subref{fig:ustation_errors_spindle_radial}, axial \subref{fig:ustation_errors_spindle_axial} and tilt \subref{fig:ustation_errors_spindle_tilt} Spindle errors during a 60rpm spindle rotation. The circular best fit is shown by the dashed circle. It represents the misalignment of the spheres with the rotation axis. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_spindle_radial}Radial errors} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_errors_spindle_radial.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_spindle_axial}Axial error} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_errors_spindle_axial.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_spindle_tilt}Tilt errors} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_errors_spindle_tilt.png]] +#+end_subfigure +#+end_figure + +**** Sensitivity to disturbances +<> + +To compute the disturbance source (i.e. forces) that induced the measured vibrations in Section ref:ssec:ustation_disturbances_meas, the transfer function from the disturbance sources to the stage vibration (i.e. the "sensitivity to disturbances") needs to be estimated. +This is achieved using the multi-body model presented in Section ref:sec:ustation_modeling. +The obtained transfer functions are shown in Figure ref:fig:ustation_model_sensitivity. + +#+name: fig:ustation_model_sensitivity +#+caption: Extracted transfer functions from disturbances to relative motion between the micro-station's top platform and the granite. The considered disturbances are the ground motion \subref{fig:ustation_model_sensitivity_ground_motion}, the translation stage vibrations \subref{fig:ustation_model_sensitivity_ty}, and the spindle vibrations \subref{fig:ustation_model_sensitivity_rz}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_model_sensitivity_ground_motion}Ground motion} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_model_sensitivity_ground_motion.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_model_sensitivity_ty}Translation stage} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_model_sensitivity_ty.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_model_sensitivity_rz}Spindle} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_model_sensitivity_rz.png]] +#+end_subfigure +#+end_figure + +**** Obtained disturbance sources +<> + +From the measured effect of disturbances in Section ref:ssec:ustation_disturbances_meas and the sensitivity to disturbances extracted from the multi-body model in Section ref:ssec:ustation_disturbances_sensitivity, the power spectral density of the disturbance sources (i.e. forces applied in the stage's joint) can be estimated. +The obtained power spectral density of the disturbances are shown in Figure ref:fig:ustation_dist_sources. + +#+name: fig:ustation_dist_sources +#+caption: Measured spectral density of the micro-station disturbance sources. Ground motion \subref{fig:ustation_dist_source_ground_motion}, translation stage \subref{fig:ustation_dist_source_translation_stage} and spindle \subref{fig:ustation_dist_source_spindle}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_dist_source_ground_motion}Ground Motion} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_dist_source_ground_motion.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_dist_source_translation_stage}Translation Stage} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_dist_source_translation_stage.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_dist_source_spindle}Spindle} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_dist_source_spindle.png]] +#+end_subfigure +#+end_figure + +The disturbances are characterized by their power spectral densities, as shown in Figure ref:fig:ustation_dist_sources. +However, to perform time domain simulations, disturbances must be represented by a time domain signal. +To generate stochastic time-domain signals with a specific power spectral densities, the discrete inverse Fourier transform is used, as explained in [[cite:&preumont94_random_vibrat_spect_analy chap. 12.11]]. +Examples of the obtained time-domain disturbance signals are shown in Figure ref:fig:ustation_dist_sources_time. + +#+name: fig:ustation_dist_sources_time +#+caption: Generated time domain disturbance signals. Ground motion \subref{fig:ustation_dist_source_ground_motion_time}, translation stage \subref{fig:ustation_dist_source_translation_stage_time} and spindle \subref{fig:ustation_dist_source_spindle_time}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_dist_source_ground_motion_time}Ground Motion} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_dist_source_ground_motion_time.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_dist_source_translation_stage_time}Translation Stage} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_dist_source_translation_stage_time.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_dist_source_spindle_time}Spindle} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/ustation_dist_source_spindle_time.png]] +#+end_subfigure +#+end_figure + +*** Simulation of Scientific Experiments +:PROPERTIES: +:HEADER-ARGS:matlab+: :tangle matlab/ustation_4_experiments.m +:END: +<> +**** Introduction :ignore: + +To fully validate the micro-station multi-body model, two time-domain simulations corresponding to typical use cases were performed. + +First, a tomography experiment (i.e. a constant Spindle rotation) was performed and was compared with experimental measurements (Section ref:sec:ustation_experiments_tomography). +Second, a constant velocity scans with the translation stage was performed and also compared with the experimental data (Section ref:sec:ustation_experiments_ty_scans). + +**** Tomography Experiment +<> + +To simulate a tomography experiment, the setpoint of the Spindle is configured to perform a constant rotation with a rotational velocity of 60rpm. +Both ground motion and spindle vibration disturbances were simulated based on what was computed in Section ref:sec:ustation_disturbances. +A radial offset of $\approx 1\,\mu m$ between the "point-of-interest" and the spindle's rotation axis is introduced to represent what is experimentally observed. +During the 10 second simulation (i.e. 10 spindle turns), the position of the "point-of-interest" with respect to the granite was recorded. +Results are shown in Figure ref:fig:ustation_errors_model_spindle. +A good correlation with the measurements is observed both for radial errors (Figure ref:fig:ustation_errors_model_spindle_radial) and axial errors (Figure ref:fig:ustation_errors_model_spindle_axial). + +#+name: fig:ustation_errors_model_spindle +#+caption: Simulation results for a tomography experiment at constant velocity of 60rpm. The comparison is made with measurements for both radial \subref{fig:ustation_errors_model_spindle_radial} and axial errors \subref{fig:ustation_errors_model_spindle_axial}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_model_spindle_radial}Radial error} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/ustation_errors_model_spindle_radial.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:ustation_errors_model_spindle_axial}Axial error} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/ustation_errors_model_spindle_axial.png]] +#+end_subfigure +#+end_figure + +**** Raster Scans with the translation stage +<> + +A second experiment was performed in which the translation stage was scanned at constant velocity. +The translation stage setpoint is configured to have a "triangular" shape with stroke of $\pm 4.5\, mm$. +Both ground motion and translation stage vibrations were included in the simulation. +Similar to what was performed for the tomography simulation, the PoI position with respect to the granite was recorded and compared with the experimental measurements in Figure ref:fig:ustation_errors_model_dy_vertical. +A similar error amplitude was observed, thus indicating that the multi-body model with the included disturbances accurately represented the micro-station behavior in typical scientific experiments. + +#+name: fig:ustation_errors_model_dy_vertical +#+caption: Vertical errors during a constant-velocity scan of the translation stage. Comparison of the measurements and simulated errors. +#+RESULTS: +[[file:figs/ustation_errors_model_dy_vertical.png]] + +*** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: +<> + +In this study, a multi-body model of the micro-station was developed. +It was difficult to match the measured dynamics obtained from the modal analysis of the micro-station. +However, the most important dynamical characteristic to be modeled is the compliance, as it affects the dynamics of the NASS. +After tuning the model parameters, a good match with the measured compliance was obtained (Figure ref:fig:ustation_frf_compliance_model). + +The disturbances affecting the sample position should also be well modeled. +After experimentally estimating the disturbances (Section ref:sec:ustation_disturbances), the multi-body model was finally validated by performing a tomography simulation (Figure ref:fig:ustation_errors_model_spindle) as well as a simulation in which the translation stage was scanned (Figure ref:fig:ustation_errors_model_dy_vertical). ** TODO Nano Hexapod - Multi Body Model # [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A5-simscape-nano-hexapod/simscape-nano-hexapod.org][Simscape - Nano-Hexapod]] -*** Introduction :ignore: - -- What we want to capture with this model -- Explain what is a multi body model (rigid body, springs, etc...) -- Key elements (plates, joints, struts): for now simplistic model (rigid body elements, perfect joints, ...), but in next section, FEM will be used -- Matlab/Simulink developed toolbox for the study of Stewart platforms - -*** Stewart Platform Architecture - -#+name: fig:stewart_platform_architecture -#+caption: Stewart Platform Architecture -#+begin_figure -#+name: fig:stewart_architecture_example -#+attr_latex: :caption \subcaption{Initial position} -#+attr_latex: :options {0.49\textwidth} -#+begin_subfigure -#+attr_latex: :width 0.8\linewidth -[[file:stewart_architecture_example.png]] -#+end_subfigure -#+name: fig:stewart_architecture_example_pose -#+attr_latex: :options {0.49\textwidth} -#+attr_latex: :caption \subcaption{After some motion} -#+begin_subfigure -#+attr_latex: :width 0.8\linewidth -[[file:stewart_architecture_example_pose.png]] -#+end_subfigure -#+end_figure - -Configurable Simscape Model: [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org]] -- Explain the different frames, etc... - -- Little review -- explain key elements: - - two plates - - joints - - actuators -- explain advantages compared to serial architecture - -*** Kinematics - -- Well define elements, frames, ... -- Derivation of jacobian matrices: for forces and for displacement -- Explain this is true for small displacements (show how small) - -*** Model of an Amplified Piezoelectric Actuator - -- APA test bench -- Piezoelectric effects -- mass spring damper representation (2dof) -- Compare the model and the experiment -- Here, just a basic 2DoF model of the APA is used - -*** Dynamics of the Nano-Hexapod - -- Effect of joints stiffnesses - -- [ ] The APA model should maybe not be used here, same for the nice top and bottom plates. Here the detailed design is not yet performed - -#+name: fig:simscape_nano_hexapod -#+caption: 3D view of the multi-body model of the Nano-Hexapod (simplified) -#+attr_latex: :width \linewidth -[[file:figs/simscape_nano_hexapod.png]] - -** TODO Control Architecture - Concept Validation +** TODO Validation of the Concept # [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A6-simscape-nass/simscape-nass.org][Simscape - NASS]] -*** Introduction :ignore: - -Discussion of: -- Transformation matrices / control architecture (computation of the position error in the frame of the nano-hexapod) -- Control of parallel architectures -- Control in the frame of struts or cartesian? -- Effect of rotation on IFF? => APA -- HAC-LAC -- New noise budgeting? - -*** Control Kinematics - -- Explain how the position error can be expressed in the frame of the nano-hexapod -- block diagram -- Explain how to go from external metrology to the frame of the nano-hexapod - -*** High Authority Control - Low Authority Control (HAC-LAC) - -- general idea -- case for parallel manipulator: decentralized LAC + centralized HAC - -*** Decoupling Strategies for parallel manipulators -[[file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org::+TITLE: Diagonal control using the SVD and the Jacobian Matrix][study]] - -- Jacobian matrices, CoK, CoM, ... -- Discussion of cubic architecture -- SVD, Modal, ... - -*** Decentralized Integral Force Feedback (LAC) - -- Root Locus -- Damping optimization - -*** Decoupled Dynamics - -- Centralized HAC -- Control in the frame of the struts -- Effect of IFF - -*** Centralized Position Controller (HAC) - -- Decoupled plant -- Controller design - ** Conceptual Design - Conclusion +:PROPERTIES: +:UNNUMBERED: notoc +:END: + +- [ ] schema avec chaque modèle et les conclusions pour chaque modèle * Detailed Design \minitoc **** Abstract +:PROPERTIES: +:UNNUMBERED: t +:END: #+name: fig:chapter2_overview #+caption: Figure caption +#+attr_org: :width 800px #+attr_latex: :width \linewidth [[file:figs/chapter2_overview.png]] ** TODO Nano-Hexapod Kinematics - Optimal Geometry? # [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B1-nass-geometry/nass-geometry.org][NASS - Geometry]] -- [ ] Maybe this can be just merged with the last section in this chapter? - -*** Introduction :ignore: - -*** Optimal strut orientation - - -*** Cubic Architecture: a Special Case? - -[[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org]] - -** TODO Nano-Hexapod Dynamics - Including Flexible elements in the Multi-body model +** TODO Optimization using Finite Element Models # [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B2-nass-fem/nass-fem.org][NASS - FEM]] -- [ ] Should this be an appendix? - -*** Introduction :ignore: -Reduced order flexible bodies [[cite:brumund21_multib_simul_reduc_order_flexib_bodies_fea]] -- Used with APA, Flexible joints, Plates - -*** Reduced order flexible bodies - -- Quick explanation of the theory -- Implementation with Ansys (or Comsol) and Simscape - -*** Numerical Validation - -- Numerical Validation Ansys VS Simscape (APA) -- Figure with 0 and 1kg mass - -*** Experimental Validation - -- Test bench -- Obtained transfer functions and comparison with Simscape model with reduced order flexible body - -** TODO Actuator Choice -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B3-nass-actuator-choice/nass-actuator-choice.org][NASS - Actuator]] - -*** Introduction :ignore: - -- From previous study: APA seems a nice choice -- First tests with the APA95ML: validation of a basic model (maybe already presented) -- Optimal stiffness? -- Talk about piezoelectric actuator? bandwidth? noise? -- Specifications: stiffness, stroke, ... => choice of the APA -- FEM of the APA -- Validation with flexible APA in the simscape model - -#+name: fig:apa_schmeatic -#+caption: Schematical representation of an Amplified Piezoelectric Actuator -#+attr_latex: :width 0.49\linewidth -[[file:example-image-a.png]] - -*** Model - -Piezoelectric equations - -#+name: fig:apa_schmeatic_2dof -#+caption: Schematical representation of a 2DoF model of an Amplified Piezoelectric Actuator -#+attr_latex: :width 0.49\linewidth -[[file:example-image-a.png]] - -#+name: fig:apa_schmeatic_fem -#+caption: Schematical representation of a FEM of an Amplified Piezoelectric Actuator -#+attr_latex: :width 0.49\linewidth -[[file:example-image-b.png]] - -- FEM -- Simscape model -- (2 DoF, FEM, ...) - -#+name: fig:root_locus_iff_rot_stiffness -#+caption: Limitation of the attainable damping due to the APA design -[[file:figs/root_locus_iff_rot_stiffness.png]] - -*** Experimental System Identification - -- Experimental validation (granite test bench) -- Electrical parameters -- Required instrumentation to read force sensor? -- Add resistor to include high pass filtering: no risk of saturating the ADC -- Estimation of piezoelectric parameters - -*** Validation with Simscape model - -- Tuned Simscape model -- IFF results: OK - -** TODO Design of Nano-Hexapod Flexible Joints -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B4-nass-flexible-joints/nass-flexible-joints.org][NASS - Flexible Joints]] - -*** Introduction :ignore: - -- Perfect flexible joint -- Imperfection of the flexible joint: Model -- Study of the effect of limited stiffness in constrain directions and non-null stiffness in other directions -- Obtained Specification -- Design optimisation (FEM) -- Implementation of flexible elements in the Simscape model: close to simplified model - -*** Effect of flexible joint characteristics on obtained dynamics - -- Based on Simscape model -- Effect of axial stiffness, bending stiffness, ... -- Obtained specifications (trade-off) - - -*** Flexible joint geometry optimization - -- Chosen geometry -- Show different existing geometry for flexible joints used on hexapods -- Optimisation with Ansys -- Validation with Simscape model - -*** Experimental identification - -- Experimental validation, characterisation ([[file:~/Cloud/work-projects/ID31-NASS/matlab/test-bench-flexible-joints-adv/bending.org::+TITLE: Flexible Joint - Measurement of the Bending Stiffness][study]]) -- Visual inspection -- Test bench -- Obtained results - ** TODO Choice of Instrumentation -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B5-nass-instrumentation/nass-instrumentation.org][NASS - Instrumentation]] - -*** Introduction :ignore: - -- Discussion of the choice of other elements: - - Encoder - - DAC - - ADC (reading of the force sensors) - - real time controller - - Voltage amplifiers -- Give some requirements + chosen elements + measurements / validation - -*** DAC and ADC - -- Force sensor - -*** Voltage amplifier ([[https://research.tdehaeze.xyz/test-bench-pd200/][link]]) - -- Test Bench: capacitive load, ADC, DAC, Instrumentation amplifier -- Noise measurement -- Transfer function measurement - -*** Encoder ([[https://research.tdehaeze.xyz/test-bench-vionic/][link]]) -- Noise measurement +# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B4-nass-instrumentation/nass-instrumentation.org][NASS - Instrumentation]] ** TODO Obtained Design -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B6-nass-design/nass-design.org][NASS - Design]] +# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/B5-nass-design/nass-design.org][NASS - Design]] - Explain again the different specifications in terms of space, payload, etc.. - CAD view of the nano-hexapod @@ -1142,41 +4069,3547 @@ Piezoelectric equations - Validation on Simscape with accurate model? ** Detailed Design - Conclusion +:PROPERTIES: +:UNNUMBERED: notoc +:END: + * Experimental Validation \minitoc **** Abstract +:PROPERTIES: +:UNNUMBERED: t +:END: #+name: fig:chapter3_overview #+caption: Figure caption +#+attr_org: :width 800px #+attr_latex: :width \linewidth [[file:figs/chapter3_overview.png]] -Schematic representation of the experimental validation process. -- APA -- Strut -- Nano-hexapod on suspended table -- Nano-hexapod with Spindle +** Amplified Piezoelectric Actuator +*** Introduction :ignore: -** COPY Amplified Piezoelectric Actuator -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C1-test-bench-apa/test-bench-apa.org][Test Bench - APA]] +In this chapter, the goal is to ensure that the received APA300ML (shown in Figure ref:fig:test_apa_received) are complying with the requirements and that the dynamical models of the actuator accurately represent its dynamics. -** TODO Flexible Joints -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C2-test-bench-flexible-joints/test-bench-flexible-joints.org][Test Bench - Flexible Joints]] +In section ref:sec:test_apa_basic_meas, the mechanical tolerances of the APA300ML interfaces are checked together with the electrical properties of the piezoelectric stacks and the achievable stroke. +The flexible modes of the APA300ML, which were estimated using a finite element model, are compared with measurements. -** TODO Struts -SCHEDULED: <2024-04-15 Mon> -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C3-test-bench-struts/test-bench-struts.org][Test Bench - Struts]] +Using a dedicated test bench, dynamical measurements are performed (Section ref:sec:test_apa_dynamics). +The dynamics from the generated DAC voltage (going through the voltage amplifier and then to two actuator stacks) to the induced axial displacement and to the measured voltage across the force sensor stack are estimated. +Integral Force Feedback is experimentally applied, and the damped plants are estimated for several feedback gains. -** TODO Nano-Hexapod -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C4-test-bench-nano-hexapod/test-bench-nano-hexapod.org][Test Bench - Nano Hexapod]] +Two different models of the APA300ML are presented. +First, in Section ref:sec:test_apa_model_2dof, a two degrees-of-freedom model is presented, tuned, and compared with the measured dynamics. +This model is proven to accurately represent the APA300ML's axial dynamics while having low complexity. -** TODO Rotating Nano-Hexapod -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C5-test-bench-nass-spindle/test-bench-nass-spindle.org][Test Bench - NASS Spindle]] +Then, in Section ref:sec:test_apa_model_flexible, a /super element/ of the APA300ML is extracted using a finite element model and imported into the multi-body model. +This more complex model also captures well capture the axial dynamics of the APA300ML. -** TODO ID31 Micro Station -# [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/C6-test-bench-id31/test-bench-id31.org][Test Bench - ID31]] +#+name: fig:test_apa_received +#+attr_latex: :width 0.7\linewidth +#+caption: Picture of 5 out of the 7 received APA300ML +[[file:figs/test_apa_received.jpg]] + +*** First Basic Measurements +<> + +**** Introduction :ignore: + +Before measuring the dynamical characteristics of the APA300ML, simple measurements are performed. +First, the tolerances (especially flatness) of the mechanical interfaces are checked in Section ref:ssec:test_apa_geometrical_measurements. +Then, the capacitance of the piezoelectric stacks is measured in Section ref:ssec:test_apa_electrical_measurements. +The achievable stroke of the APA300ML is measured using a displacement probe in Section ref:ssec:test_apa_stroke_measurements. +Finally, in Section ref:ssec:test_apa_spurious_resonances, the flexible modes of the APA are measured and compared with a finite element model. + +**** Geometrical Measurements +<> + +To measure the flatness of the two mechanical interfaces of the APA300ML, a small measurement bench is installed on top of a metrology granite with excellent flatness. +As shown in Figure ref:fig:test_apa_flatness_setup, the APA is fixed to a clamp while a measuring probe[fn:test_apa_3] is used to measure the height of four points on each of the APA300ML interfaces. +From the X-Y-Z coordinates of the measured eight points, the flatness is estimated by best fitting[fn:test_apa_4] a plane through all the points. +The measured flatness values, summarized in Table ref:tab:test_apa_flatness_meas, are within the specifications. + +#+attr_latex: :options [b]{0.49\textwidth} +#+begin_minipage +#+name: fig:test_apa_flatness_setup +#+attr_latex: :width 0.7\linewidth :float nil +#+caption: Measurement setup for flatness estimation +[[file:figs/test_apa_flatness_setup.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.49\textwidth} +#+begin_minipage +#+name: tab:test_apa_flatness_meas +#+attr_latex: :environment tabularx :width 0.6\linewidth :align Xc +#+attr_latex: :booktabs t :float nil +#+caption: Estimated flatness of the APA300ML interfaces +#+RESULTS: +| | *Flatness* $[\mu m]$ | +|-------+----------------------| +| APA 1 | 8.9 | +| APA 2 | 3.1 | +| APA 3 | 9.1 | +| APA 4 | 3.0 | +| APA 5 | 1.9 | +| APA 6 | 7.1 | +| APA 7 | 18.7 | +#+end_minipage + +**** Electrical Measurements +<> + +From the documentation of the APA300ML, the total capacitance of the three stacks should be between $18\,\mu F$ and $26\,\mu F$ with a nominal capacitance of $20\,\mu F$. + +The capacitance of the APA300ML piezoelectric stacks was measured with the LCR meter[fn:test_apa_1] shown in Figure ref:fig:test_apa_lcr_meter. +The two stacks used as the actuator and the stack used as the force sensor were measured separately. +The measured capacitance values are summarized in Table ref:tab:test_apa_capacitance and the average capacitance of one stack is $\approx 5 \mu F$. +However, the measured capacitance of the stacks of "APA 3" is only half of the expected capacitance. +This may indicate a manufacturing defect. + +The measured capacitance is found to be lower than the specified value. +This may be because the manufacturer measures the capacitance with large signals ($-20\,V$ to $150\,V$), whereas it was here measured with small signals [[cite:&wehrsdorfer95_large_signal_measur_piezoel_stack]]. + +#+attr_latex: :options [b]{0.49\textwidth} +#+begin_minipage +#+name: fig:test_apa_lcr_meter +#+attr_latex: :width 0.95\linewidth :float nil +#+caption: Used LCR meter +[[file:figs/test_apa_lcr_meter.jpg]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.49\textwidth} +#+begin_minipage +#+name: tab:test_apa_capacitance +#+caption: Measured capacitance in $\mu F$ +#+attr_latex: :environment tabularx :width 0.95\linewidth :align lcc +#+attr_latex: :center t :booktabs t :float nil +| | *Sensor Stack* | *Actuator Stacks* | +|-------+----------------+-------------------| +| APA 1 | 5.10 | 10.03 | +| APA 2 | 4.99 | 9.85 | +| APA 3 | 1.72 | 5.18 | +| APA 4 | 4.94 | 9.82 | +| APA 5 | 4.90 | 9.66 | +| APA 6 | 4.99 | 9.91 | +| APA 7 | 4.85 | 9.85 | +#+end_minipage + +**** Stroke and Hysteresis Measurement +<> + +To compare the stroke of the APA300ML with the datasheet specifications, one side of the APA is fixed to the granite, and a displacement probe[fn:test_apa_2] is located on the other side as shown in Figure ref:fig:test_apa_stroke_bench. + +The voltage across the two actuator stacks is varied from $-20\,V$ to $150\,V$ using a DAC[fn:test_apa_12] and a voltage amplifier[fn:test_apa_13]. +Note that the voltage is slowly varied as the displacement probe has a very low measurement bandwidth (see Figure ref:fig:test_apa_stroke_voltage). + +#+name: fig:test_apa_stroke_bench +#+caption: Bench to measure the APA stroke +#+attr_latex: :width 0.7\linewidth +[[file:figs/test_apa_stroke_bench.jpg]] + +The measured APA displacement is shown as a function of the applied voltage in Figure ref:fig:test_apa_stroke_hysteresis. +Typical hysteresis curves for piezoelectric stack actuators can be observed. +The measured stroke is approximately $250\,\mu m$ when using only two of the three stacks. +This is even above what is specified as the nominal stroke in the data-sheet ($304\,\mu m$, therefore $\approx 200\,\mu m$ if only two stacks are used). +For the NASS, this stroke is sufficient because the positioning errors to be corrected using the nano-hexapod are expected to be in the order of $10\,\mu m$. + +It is clear from Figure ref:fig:test_apa_stroke_hysteresis that "APA 3" has an issue compared with the other units. +This confirms the abnormal electrical measurements made in Section ref:ssec:test_apa_electrical_measurements. +This unit was sent sent back to Cedrat, and a new one was shipped back. +From now on, only the six remaining amplified piezoelectric actuators that behave as expected will be used. + +#+name: fig:test_apa_stroke +#+caption: Generated voltage across the two piezoelectric stack actuators to estimate the stroke of the APA300ML \subref{fig:test_apa_stroke_voltage}. Measured displacement as a function of applied voltage \subref{fig:test_apa_stroke_hysteresis} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_stroke_voltage}Applied voltage for stroke estimation} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_stroke_voltage.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_stroke_hysteresis}Hysteresis curves of the APA} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_stroke_hysteresis.png]] +#+end_subfigure +#+end_figure + +**** Flexible Mode Measurement +<> + +In this section, the flexible modes of the APA300ML are investigated both experimentally and using a Finite Element Model. +To experimentally estimate these modes, the APA is fixed at one end (see Figure ref:fig:test_apa_meas_setup_modes). +A Laser Doppler Vibrometer[fn:test_apa_6] is used to measure the difference of motion between two "red" points and an instrumented hammer[fn:test_apa_7] is used to excite the flexible modes. +Using this setup, the transfer function from the injected force to the measured rotation can be computed under different conditions, and the frequency and mode shapes of the flexible modes can be estimated. + +The flexible modes for the same condition (i.e. one mechanical interface of the APA300ML fixed) are estimated using a finite element software, and the results are shown in Figure ref:fig:test_apa_mode_shapes. + +#+name: fig:test_apa_mode_shapes +#+caption: First three modes of the APA300ML in a fix-free condition estimated from a Finite Element Model +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_mode_shapes_1}Y-bending mode (268Hz)} +#+attr_latex: :options {0.35\textwidth} +#+begin_subfigure +#+attr_latex: :height 4.3cm +[[file:figs/test_apa_mode_shapes_1.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_mode_shapes_2}X-bending mode (399Hz)} +#+attr_latex: :options {0.27\textwidth} +#+begin_subfigure +#+attr_latex: :height 4.3cm +[[file:figs/test_apa_mode_shapes_2.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_mode_shapes_3}Z-axial mode (706Hz)} +#+attr_latex: :options {0.35\textwidth} +#+begin_subfigure +#+attr_latex: :height 4.3cm +[[file:figs/test_apa_mode_shapes_3.png]] +#+end_subfigure +#+end_figure + +#+name: fig:test_apa_meas_setup_modes +#+caption: Experimental setup to measure the flexible modes of the APA300ML. For the bending in the $X$ direction \subref{fig:test_apa_meas_setup_X_bending}, the impact point is at the back of the top measurement point. For the bending in the $Y$ direction \subref{fig:test_apa_meas_setup_Y_bending}, the impact point is located on the back surface of the top interface (on the back of the 2 measurements points). +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_meas_setup_X_bending}$X$ bending} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_meas_setup_X_bending.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_meas_setup_Y_bending}$Y$ Bending} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_meas_setup_Y_bending.jpg]] +#+end_subfigure +#+end_figure + +The measured frequency response functions computed from the experimental setups of figures ref:fig:test_apa_meas_setup_X_bending and ref:fig:test_apa_meas_setup_Y_bending are shown in Figure ref:fig:test_apa_meas_freq_compare. +The $y$ bending mode is observed at $280\,\text{Hz}$ and the $x$ bending mode is at $412\,\text{Hz}$. +These modes are measured at higher frequencies than the frequencies estimated from the Finite Element Model (see frequencies in Figure ref:fig:test_apa_mode_shapes). +This is the opposite of what is usually observed (i.e. having lower resonance frequencies in practice than the estimation from a finite element model). +This could be explained by underestimation of the Young's modulus of the steel used for the shell (190 GPa was used for the model, but steel with Young's modulus of 210 GPa could have been used). +Another explanation is the shape difference between the manufactured APA300ML and the 3D model, for instance thicker blades. + +#+name: fig:test_apa_meas_freq_compare +#+caption: Frequency response functions for the two tests using the instrumented hammer and the laser vibrometer. The Y-bending mode is measured at $280\,\text{Hz}$ and the X-bending mode at $412\,\text{Hz}$ +#+RESULTS: +[[file:figs/test_apa_meas_freq_compare.png]] + +*** Dynamical measurements +<> +**** Introduction :ignore: +After the measurements on the APA were performed in Section ref:sec:test_apa_basic_meas, a new test bench was used to better characterize the dynamics of the APA300ML. +This test bench, depicted in Figure ref:fig:test_bench_apa, comprises the APA300ML fixed at one end to a stationary granite block and at the other end to a 5kg granite block that is vertically guided by an air bearing. +Thus, there is no friction when actuating the APA300ML, and it will be easier to characterize its behavior independently of other factors. +An encoder[fn:test_apa_8] is used to measure the relative movement between the two granite blocks, thereby measuring the axial displacement of the APA. + +#+name: fig:test_bench_apa +#+caption: Schematic of the test bench used to estimate the dynamics of the APA300ML +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_bench_picture}Picture of the test bench} +#+attr_latex: :options {0.3\textwidth} +#+begin_subfigure +#+attr_latex: :height 8cm +[[file:figs/test_apa_bench_picture.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_bench_picture_encoder}Zoom on the APA with the encoder} +#+attr_latex: :options {0.69\textwidth} +#+begin_subfigure +#+attr_latex: :height 8cm +[[file:figs/test_apa_bench_picture_encoder.jpg]] +#+end_subfigure +#+end_figure + +The bench is schematically shown in Figure ref:fig:test_apa_schematic with the associated signals. +It will be first used to estimate the hysteresis from the piezoelectric stack (Section ref:ssec:test_apa_hysteresis) as well as the axial stiffness of the APA300ML (Section ref:ssec:test_apa_stiffness). +The frequency response functions from the DAC voltage $u$ to the displacement $d_e$ and to the voltage $V_s$ are measured in Section ref:ssec:test_apa_meas_dynamics. +The presence of a non-minimum phase zero found on the transfer function from $u$ to $V_s$ is investigated in Section ref:ssec:test_apa_non_minimum_phase. +To limit the low-frequency gain of the transfer function from $u$ to $V_s$, a resistor is added across the force sensor stack (Section ref:ssec:test_apa_resistance_sensor_stack). +Finally, the Integral Force Feedback is implemented, and the amount of damping added is experimentally estimated in Section ref:ssec:test_apa_iff_locus. + +#+name: fig:test_apa_schematic +#+caption: Schematic of the Test Bench used to measure the dynamics of the APA300ML. $u$ is the output DAC voltage, $V_a$ the output amplifier voltage (i.e. voltage applied across the actuator stacks), $d_e$ the measured displacement by the encoder and $V_s$ the measured voltage across the sensor stack. +#+attr_latex: :scale 1 +[[file:figs/test_apa_schematic.png]] + +**** Hysteresis +<> + +Because the payload is vertically guided without friction, the hysteresis of the APA can be estimated from the motion of the payload. +A quasi static[fn:test_apa_9] sinusoidal excitation $V_a$ with an offset of $65\,V$ (halfway between $-20\,V$ and $150\,V$) and with an amplitude varying from $4\,V$ up to $80\,V$ is generated using the DAC. +For each excitation amplitude, the vertical displacement $d_e$ of the mass is measured and displayed as a function of the applied voltage in Figure ref:fig:test_apa_meas_hysteresis. +This is the typical behavior expected from a PZT stack actuator, where the hysteresis increases as a function of the applied voltage amplitude [[cite:&fleming14_desig_model_contr_nanop_system chap. 1.4]]. + +#+name: fig:test_apa_meas_hysteresis +#+caption: Displacement as a function of applied voltage for multiple excitation amplitudes +#+RESULTS: +[[file:figs/test_apa_meas_hysteresis.png]] + +**** Axial stiffness +<> + +To estimate the stiffness of the APA, a weight with known mass $m_a = 6.4\,\text{kg}$ is added on top of the suspended granite and the deflection $\Delta d_e$ is measured using the encoder. +The APA stiffness can then be estimated from equation eqref:eq:test_apa_stiffness, with $g \approx 9.8\,m/s^2$ the acceleration of gravity. + +\begin{equation} \label{eq:test_apa_stiffness} + k_{\text{apa}} = \frac{m_a g}{\Delta d_e} +\end{equation} + +The measured displacement $d_e$ as a function of time is shown in Figure ref:fig:test_apa_meas_stiffness_time. +It can be seen that there are some drifts in the measured displacement (probably due to piezoelectric creep), and that the displacement does not return to the initial position after the mass is removed (probably due to piezoelectric hysteresis). +These two effects induce some uncertainties in the measured stiffness. + +The stiffnesses are computed for all APAs from the two displacements $d_1$ and $d_2$ (see Figure ref:fig:test_apa_meas_stiffness_time) leading to two stiffness estimations $k_1$ and $k_2$. +These estimated stiffnesses are summarized in Table ref:tab:test_apa_measured_stiffnesses and are found to be close to the specified nominal stiffness of the APA300ML $k = 1.8\,N/\mu m$. + +#+attr_latex: :options [b]{0.57\textwidth} +#+begin_minipage +#+name: fig:test_apa_meas_stiffness_time +#+caption: Measured displacement when adding (at $t \approx 3\,s$) and removing (at $t \approx 13\,s$) the mass +#+attr_latex: :width 0.9\linewidth :float nil +[[file:figs/test_apa_meas_stiffness_time.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.37\textwidth} +#+begin_minipage +#+name: tab:test_apa_measured_stiffnesses +#+caption: Measured axial stiffnesses (in $N/\mu m$) +#+attr_latex: :environment tabularx :width 0.6\linewidth :align Xcc +#+attr_latex: :center t :booktabs t :float nil +#+RESULTS: +| APA | $k_1$ | $k_2$ | +|-----+-------+-------| +| 1 | 1.68 | 1.9 | +| 2 | 1.69 | 1.9 | +| 4 | 1.7 | 1.91 | +| 5 | 1.7 | 1.93 | +| 6 | 1.7 | 1.92 | +| 8 | 1.73 | 1.98 | +#+end_minipage + +The stiffness can also be computed using equation eqref:eq:test_apa_res_freq by knowing the main vertical resonance frequency $\omega_z \approx 95\,\text{Hz}$ (estimated by the dynamical measurements shown in section ref:ssec:test_apa_meas_dynamics) and the suspended mass $m_{\text{sus}} = 5.7\,\text{kg}$. + +\begin{equation} \label{eq:test_apa_res_freq} +\omega_z = \sqrt{\frac{k}{m_{\text{sus}}}} +\end{equation} + +The obtained stiffness is $k \approx 2\,N/\mu m$ which is close to the values found in the documentation and using the "static deflection" method. + +It is important to note that changes to the electrical impedance connected to the piezoelectric stacks affect the mechanical compliance (or stiffness) of the piezoelectric stack [[cite:&reza06_piezoel_trans_vibrat_contr_dampin chap. 2]]. + +To estimate this effect for the APA300ML, its stiffness is estimated using the "static deflection" method in two cases: +- $k_{\text{os}}$: piezoelectric stacks left unconnected (or connect to the high impedance ADC) +- $k_{\text{sc}}$: piezoelectric stacks short-circuited (or connected to the voltage amplifier with small output impedance) + +The open-circuit stiffness is estimated at $k_{\text{oc}} \approx 2.3\,N/\mu m$ while the closed-circuit stiffness $k_{\text{sc}} \approx 1.7\,N/\mu m$. + +**** Dynamics +<> + +In this section, the dynamics from the excitation voltage $u$ to the encoder measured displacement $d_e$ and to the force sensor voltage $V_s$ is identified. + +First, the dynamics from $u$ to $d_e$ for the six APA300ML are compared in Figure ref:fig:test_apa_frf_encoder. +The obtained frequency response functions are similar to those of a (second order) mass-spring-damper system with: +- A "stiffness line" indicating a static gain equal to $\approx -17\,\mu m/V$. + The negative sign comes from the fact that an increase in voltage stretches the piezoelectric stack which reduces the height of the APA +- A lightly damped resonance at $95\,\text{Hz}$ +- A "mass line" up to $\approx 800\,\text{Hz}$, above which additional resonances appear. These additional resonances might be due to the limited stiffness of the encoder support or from the limited compliance of the APA support. + The flexible modes studied in section ref:ssec:test_apa_spurious_resonances seem not to impact the measured axial motion of the actuator. + +The dynamics from $u$ to the measured voltage across the sensor stack $V_s$ for the six APA300ML are compared in Figure ref:fig:test_apa_frf_force. + +A lightly damped resonance (pole) is observed at $95\,\text{Hz}$ and a lightly damped anti-resonance (zero) at $41\,\text{Hz}$. +No additional resonances are present up to at least $2\,\text{kHz}$ indicating that Integral Force Feedback can be applied without stability issues from high-frequency flexible modes. +The zero at $41\,\text{Hz}$ seems to be non-minimum phase (the phase /decreases/ by 180 degrees whereas it should have /increased/ by 180 degrees for a minimum phase zero). +This is investigated in Section ref:ssec:test_apa_non_minimum_phase. + +As illustrated by the Root Locus plot, the poles of the /closed-loop/ system converges to the zeros of the /open-loop/ plant as the feedback gain increases. +The significance of this behavior varies with the type of sensor used, as explained in [[cite:&preumont18_vibrat_contr_activ_struc_fourt_edition chap. 7.6]]. +Considering the transfer function from $u$ to $V_s$, if a controller with a very high gain is applied such that the sensor stack voltage $V_s$ is kept at zero, the sensor (and by extension, the actuator stacks since they are in series) experiences negligible stress and strain. +Consequently, the closed-loop system virtually corresponds to one in which the piezoelectric stacks are absent, leaving only the mechanical shell. +From this analysis, it can be inferred that the axial stiffness of the shell is $k_{\text{shell}} = m \omega_0^2 = 5.7 \cdot (2\pi \cdot 41)^2 = 0.38\,N/\mu m$ (which is close to what is found using a finite element model). + +All the identified dynamics of the six APA300ML (both when looking at the encoder in Figure ref:fig:test_apa_frf_encoder and at the force sensor in Figure ref:fig:test_apa_frf_force) are almost identical, indicating good manufacturing repeatability for the piezoelectric stacks and the mechanical shell. + +#+name: fig:test_apa_frf_dynamics +#+caption: Measured frequency response function from generated voltage $u$ to the encoder displacement $d_e$ \subref{fig:test_apa_frf_encoder} and to the force sensor voltage $V_s$ \subref{fig:test_apa_frf_force} for the six APA300ML +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_frf_encoder}FRF from $u$ to $d_e$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_frf_encoder.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_frf_force}FRF from $u$ to $V_s$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_frf_force.png]] +#+end_subfigure +#+end_figure + +**** Non Minimum Phase Zero? +<> + +It was surprising to observe a non-minimum phase zero on the transfer function from $u$ to $V_s$ (Figure ref:fig:test_apa_frf_force). +It was initially thought that this non-minimum phase behavior was an artifact arising from the measurement. +A longer measurement was performed using different excitation signals (noise, slow sine sweep, etc.) to determine if the phase behavior of the zero changes (Figure ref:fig:test_apa_non_minimum_phase). +The coherence (Figure ref:fig:test_apa_non_minimum_phase_coherence) is good even in the vicinity of the lightly damped zero, and the phase (Figure ref:fig:test_apa_non_minimum_phase_zoom) clearly indicates non-minimum phase behavior. + +Such non-minimum phase zero when using load cells has also been observed on other mechanical systems [[cite:&spanos95_soft_activ_vibrat_isolat;&thayer02_six_axis_vibrat_isolat_system;&hauge04_sensor_contr_space_based_six]]. +It could be induced to small non-linearity in the system, but the reason for this non-minimum phase for the APA300ML is not yet clear. + +However, this is not so important here because the zero is lightly damped (i.e. very close to the imaginary axis), and the closed loop poles (see the Root Locus plot in Figure ref:fig:test_apa_iff_root_locus) should not be unstable, except for very large controller gains that will never be applied in practice. + +#+name: fig:test_apa_non_minimum_phase +#+caption: Measurement of the anti-resonance found in the transfer function from $u$ to $V_s$. The coherence \subref{fig:test_apa_non_minimum_phase_coherence} is quite good around the anti-resonance frequency. The phase \subref{fig:test_apa_non_minimum_phase_zoom} shoes a non-minimum phase behavior. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_non_minimum_phase_coherence} Coherence} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_non_minimum_phase_coherence.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_non_minimum_phase_zoom} Zoom on the non-minimum phase zero} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_non_minimum_phase_zoom.png]] +#+end_subfigure +#+end_figure + +**** Effect of the resistor on the IFF Plant +<> + +A resistor $R \approx 80.6\,k\Omega$ is added in parallel with the sensor stack, which forms a high-pass filter with the capacitance of the piezoelectric stack (capacitance estimated at $\approx 5\,\mu F$). + +As explained before, this is done to limit the voltage offset due to the input bias current of the ADC as well as to limit the low frequency gain. + +The (low frequency) transfer function from $u$ to $V_s$ with and without this resistor were measured and compared in Figure ref:fig:test_apa_effect_resistance. +It is confirmed that the added resistor has the effect of adding a high-pass filter with a cut-off frequency of $\approx 0.39\,\text{Hz}$. + +#+name: fig:test_apa_effect_resistance +#+caption: Transfer function from $u$ to $V_s$ with and without the resistor $R$ in parallel with the piezoelectric stack used as the force sensor +#+RESULTS: +[[file:figs/test_apa_effect_resistance.png]] + +**** Integral Force Feedback +<> + +To implement the Integral Force Feedback strategy, the measured frequency response function from $u$ to $V_s$ (Figure ref:fig:test_apa_frf_force) is fitted using the transfer function shown in equation eqref:eq:test_apa_iff_manual_fit. +The parameters were manually tuned, and the obtained values are $\omega_{\textsc{hpf}} = 0.4\, \text{Hz}$, $\omega_{z} = 42.7\, \text{Hz}$, $\xi_{z} = 0.4\,\%$, $\omega_{p} = 95.2\, \text{Hz}$, $\xi_{p} = 2\,\%$ and $g_0 = 0.64$. + +\begin{equation} \label{eq:test_apa_iff_manual_fit} +G_{\textsc{iff},m}(s) = g_0 \cdot \frac{1 + 2 \xi_z \frac{s}{\omega_z} + \frac{s^2}{\omega_z^2}}{1 + 2 \xi_p \frac{s}{\omega_p} + \frac{s^2}{\omega_p^2}} \cdot \frac{s}{\omega_{\textsc{hpf}} + s} +\end{equation} + +A comparison between the identified plant and the manually tuned transfer function is shown in Figure ref:fig:test_apa_iff_plant_comp_manual_fit. + +#+name: fig:test_apa_iff_plant_comp_manual_fit +#+caption: Identified IFF plant and manually tuned model of the plant (a time delay of $200\,\mu s$ is added to the model of the plant to better match the identified phase). Note that a minimum-phase zero is identified here even though the coherence is not good around the frequency of the zero. +#+RESULTS: +[[file:figs/test_apa_iff_plant_comp_manual_fit.png]] + +The implemented Integral Force Feedback Controller transfer function is shown in equation eqref:eq:test_apa_Kiff_formula. +It contains a high-pass filter (cut-off frequency of $2\,\text{Hz}$) to limit the low-frequency gain, a low-pass filter to add integral action above $20\,\text{Hz}$, a second low-pass filter to add robustness to high-frequency resonances, and a tunable gain $g$. + +\begin{equation} \label{eq:test_apa_Kiff_formula} +K_{\textsc{iff}}(s) = -10 \cdot g \cdot \frac{s}{s + 2\pi \cdot 2} \cdot \frac{1}{s + 2\pi \cdot 20} \cdot \frac{1}{s + 2\pi\cdot 2000} +\end{equation} + +To estimate how the dynamics of the APA changes when the Integral Force Feedback controller is implemented, the test bench shown in Figure ref:fig:test_apa_iff_schematic is used. +The transfer function from the "damped" plant input $u\prime$ to the encoder displacement $d_e$ is identified for several IFF controller gains $g$. + +#+name: fig:test_apa_iff_schematic +#+caption: Implementation of Integral Force Feedback in the Speedgoat. The damped plant has a new input $u\prime$ +[[file:figs/test_apa_iff_schematic.png]] + +The identified dynamics were then fitted by second order transfer functions[fn:test_apa_10]. +A comparison between the identified damped dynamics and the fitted second-order transfer functions is shown in Figure ref:fig:test_apa_identified_damped_plants for different gains $g$. +It is clear that a large amount of damping is added when the gain is increased and that the frequency of the pole is shifted to lower frequencies. + +The evolution of the pole in the complex plane as a function of the controller gain $g$ (i.e. the "root locus") is computed in two cases. +First using the IFF plant model eqref:eq:test_apa_iff_manual_fit and the implemented controller eqref:eq:test_apa_Kiff_formula. +Second using the fitted transfer functions of the damped plants experimentally identified for several controller gains. +The two obtained root loci are compared in Figure ref:fig:test_apa_iff_root_locus and are in good agreement considering that the damped plants were fitted using only a second-order transfer function. + +#+name: fig:test_apa_iff +#+caption: Experimental results of applying Integral Force Feedback to the APA300ML. Obtained damped plant \subref{fig:test_apa_identified_damped_plants} and Root Locus \subref{fig:test_apa_iff_root_locus} corresponding to the implemented IFF controller \eqref{eq:test_apa_Kiff_formula} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_identified_damped_plants}Measured frequency response functions of damped plants for several IFF gains (solid lines). Identified 2nd order plants that match the experimental data (dashed lines)} +#+attr_latex: :options {0.59\textwidth} +#+begin_subfigure +#+attr_latex: :height 8cm +[[file:figs/test_apa_identified_damped_plants.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_iff_root_locus}Root Locus plot using the plant model (black) and poles of the identified damped plants (color crosses)} +#+attr_latex: :options {0.39\textwidth} +#+begin_subfigure +#+attr_latex: :height 8cm +[[file:figs/test_apa_iff_root_locus.png]] +#+end_subfigure +#+end_figure + +*** APA300ML - 2 degrees-of-freedom Model +<> + +***** Introduction :ignore: +In this section, a multi-body model (Figure ref:fig:test_apa_bench_model) of the measurement bench is used to tune the two degrees-of-freedom model of the APA using the measured frequency response functions. + +This two degrees-of-freedom model is developed to accurately represent the APA300ML dynamics while having low complexity and a low number of associated states. +After the model is presented, the procedure for tuning the model is described, and the obtained model dynamics is compared with the measurements. + +#+name: fig:test_apa_bench_model +#+caption: Screenshot of the multi-body model +#+attr_latex: :width 0.8\linewidth +[[file:figs/test_apa_bench_model.png]] + +***** Two degrees-of-freedom APA Model + +The model of the amplified piezoelectric actuator is shown in Figure ref:fig:test_apa_2dof_model. +It can be decomposed into three components: +- the shell whose axial properties are represented by $k_1$ and $c_1$ +- the actuator stacks whose contribution to the axial stiffness is represented by $k_a$ and $c_a$. + The force source $\tau$ represents the axial force induced by the force sensor stacks. + The sensitivity $g_a$ (in $N/m$) is used to convert the applied voltage $V_a$ to the axial force $\tau$ +- the sensor stack whose contribution to the axial stiffness is represented by $k_e$ and $c_e$. + A sensor measures the stack strain $d_e$ which is then converted to a voltage $V_s$ using a sensitivity $g_s$ (in $V/m$) + +Such a simple model has some limitations: +- it only represents the axial characteristics of the APA as it is modeled as infinitely rigid in the other directions +- some physical insights are lost, such as the amplification factor and the real stress and strain in the piezoelectric stacks +- the creep and hysteresis of the piezoelectric stacks are not modeled as the model is linear + +#+name: fig:test_apa_2dof_model +#+caption: Schematic of the two degrees-of-freedom model of the APA300ML, adapted from cite:souleille18_concep_activ_mount_space_applic +[[file:figs/test_apa_2dof_model.png]] + +***** Tuning of the APA model :ignore: + +9 parameters ($m$, $k_1$, $c_1$, $k_e$, $c_e$, $k_a$, $c_a$, $g_s$ and $g_a$) have to be tuned such that the dynamics of the model (Figure ref:fig:test_apa_2dof_model_simscape) well represents the identified dynamics in Section ref:sec:test_apa_dynamics. + +#+name: fig:test_apa_2dof_model_simscape +#+caption: Schematic of the two degrees-of-freedom model of the APA300ML with input $V_a$ and outputs $d_e$ and $V_s$ +[[file:figs/test_apa_2dof_model_simscape.png]] + +First, the mass $m$ supported by the APA300ML can be estimated from the geometry and density of the different parts or by directly measuring it using a precise weighing scale. +Both methods lead to an estimated mass of $m = 5.7\,\text{kg}$. + +Then, the axial stiffness of the shell was estimated at $k_1 = 0.38\,N/\mu m$ in Section ref:ssec:test_apa_meas_dynamics from the frequency of the anti-resonance seen on Figure ref:fig:test_apa_frf_force. +Similarly, $c_1$ can be estimated from the damping ratio of the same anti-resonance and is found to be close to $5\,Ns/m$. + +Then, it is reasonable to assume that the sensor stacks and the two actuator stacks have identical mechanical characteristics[fn:test_apa_5]. +Therefore, we have $k_e = 2 k_a$ and $c_e = 2 c_a$ as the actuator stack is composed of two stacks in series. +In this case, the total stiffness of the APA model is described by eqref:eq:test_apa_2dof_stiffness. + +\begin{equation}\label{eq:test_apa_2dof_stiffness} +k_{\text{tot}} = k_1 + \frac{k_e k_a}{k_e + k_a} = k_1 + \frac{2}{3} k_a +\end{equation} + +Knowing from eqref:eq:test_apa_tot_stiffness that the total stiffness is $k_{\text{tot}} = 2\,N/\mu m$, we get from eqref:eq:test_apa_2dof_stiffness that $k_a = 2.5\,N/\mu m$ and $k_e = 5\,N/\mu m$. + +\begin{equation}\label{eq:test_apa_tot_stiffness} +\omega_0 = \frac{k_{\text{tot}}}{m} \Longrightarrow k_{\text{tot}} = m \omega_0^2 = 2\,N/\mu m \quad \text{with}\ m = 5.7\,\text{kg}\ \text{and}\ \omega_0 = 2\pi \cdot 95\, \text{rad}/s +\end{equation} + +Then, $c_a$ (and therefore $c_e = 2 c_a$) can be tuned to match the damping ratio of the identified resonance. +$c_a = 50\,Ns/m$ and $c_e = 100\,Ns/m$ are obtained. + +In the last step, $g_s$ and $g_a$ can be tuned to match the gain of the identified transfer functions. + +The obtained parameters of the model shown in Figure ref:fig:test_apa_2dof_model_simscape are summarized in Table ref:tab:test_apa_2dof_parameters. + +#+name: tab:test_apa_2dof_parameters +#+caption: Summary of the obtained parameters for the 2 DoF APA300ML model +#+attr_latex: :environment tabularx :width 0.3\linewidth :align cc +#+attr_latex: :center t :booktabs t +| *Parameter* | *Value* | +|-------------+------------------| +| $m$ | $5.7\,\text{kg}$ | +| $k_1$ | $0.38\,N/\mu m$ | +| $k_e$ | $5.0\, N/\mu m$ | +| $k_a$ | $2.5\,N/\mu m$ | +| $c_1$ | $5\,Ns/m$ | +| $c_e$ | $100\,Ns/m$ | +| $c_a$ | $50\,Ns/m$ | +| $g_a$ | $-2.58\,N/V$ | +| $g_s$ | $0.46\,V/\mu m$ | + +***** Obtained Dynamics :ignore: + +The dynamics of the two degrees-of-freedom model of the APA300ML are extracted using optimized parameters (listed in Table ref:tab:test_apa_2dof_parameters) from the multi-body model. +This is compared with the experimental data in Figure ref:fig:test_apa_2dof_comp_frf. +A good match can be observed between the model and the experimental data, both for the encoder (Figure ref:fig:test_apa_2dof_comp_frf_enc) and for the force sensor (Figure ref:fig:test_apa_2dof_comp_frf_force). +This indicates that this model represents well the axial dynamics of the APA300ML. + +#+name: fig:test_apa_2dof_comp_frf +#+caption: Comparison of the measured frequency response functions and the identified dynamics from the 2DoF model of the APA300ML. Both for the dynamics from $u$ to $d_e$ \subref{fig:test_apa_2dof_comp_frf_enc} \subref{fig:test_apa_2dof_comp_frf_force} and from $u$ to $V_s$ \subref{fig:test_apa_2dof_comp_frf_force} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_2dof_comp_frf_enc}from $u$ to $d_e$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_2dof_comp_frf_enc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_2dof_comp_frf_force}from $u$ to $V_s$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_2dof_comp_frf_force.png]] +#+end_subfigure +#+end_figure + +*** APA300ML - Super Element +<> + +***** Introduction :ignore: +In this section, a /super element/ of the APA300ML is computed using a finite element software[fn:test_apa_11]. +It is then imported into multi-body (in the form of a stiffness matrix and a mass matrix) and included in the same model that was used in ref:sec:test_apa_model_2dof. +This procedure is illustrated in Figure ref:fig:test_apa_super_element_simscape. +Several /remote points/ are defined in the finite element model (here illustrated by colorful planes and numbers from =1= to =5=) and are then made accessible in Simscape as shown at the right by the "frames" =F1= to =F5=. + +For the APA300ML /super element/, 5 /remote points/ are defined. +Two /remote points/ (=1= and =2=) are fixed to the top and bottom mechanical interfaces of the APA300ML and will be used to connect the APA300ML with other mechanical elements. +Two /remote points/ (=3= and =4=) are located across two piezoelectric stacks and are used to apply internal forces representing the actuator stacks. +Finally, two /remote points/ (=4= and =5=) are located across the third piezoelectric stack, and will be used to measured the strain of the sensor stack. + +#+name: fig:test_apa_super_element_simscape +#+attr_latex: :width 1.0\linewidth +#+caption: Finite Element Model of the APA300ML with "remotes points" on the left. Simscape model with included "Reduced Order Flexible Solid" on the right. +[[file:figs/test_apa_super_element_simscape.png]] + +***** Identification of the Actuator and Sensor constants + +Once the APA300ML /super element/ is included in the multi-body model, the transfer function from $F_a$ to $d_L$ and $d_e$ can be extracted. +The gains $g_a$ and $g_s$ are then tuned such that the gains of the transfer functions match the identified ones. +By doing so, $g_s = 4.9\,V/\mu m$ and $g_a = 23.2\,N/V$ are obtained. + +To ensure that the sensitivities $g_a$ and $g_s$ are physically valid, it is possible to estimate them from the physical properties of the piezoelectric stack material. + +From [[cite:&fleming14_desig_model_contr_nanop_system p. 123]], the relation between relative displacement $d_L$ of the sensor stack and generated voltage $V_s$ is given by eqref:eq:test_apa_piezo_strain_to_voltage and from [[cite:&fleming10_integ_strain_force_feedb_high]] the relation between the force $F_a$ and the applied voltage $V_a$ is given by eqref:eq:test_apa_piezo_voltage_to_force. + +\begin{subequations} +\begin{align} + V_s &= \underbrace{\frac{d_{33}}{\epsilon^T s^D n}}_{g_s} d_L \label{eq:test_apa_piezo_strain_to_voltage} \\ + F_a &= \underbrace{d_{33} n k_a}_{g_a} \cdot V_a, \quad k_a = \frac{c^{E} A}{L} \label{eq:test_apa_piezo_voltage_to_force} +\end{align} +\end{subequations} + +Unfortunately, the manufacturer of the stack was not willing to share the piezoelectric material properties of the stack used in the APA300ML. +However, based on the available properties of the APA300ML stacks in the data-sheet, the soft Lead Zirconate Titanate "THP5H" from Thorlabs seemed to match quite well the observed properties. +The properties of this "THP5H" material used to compute $g_a$ and $g_s$ are listed in Table ref:tab:test_apa_piezo_properties. + +From these parameters, $g_s = 5.1\,V/\mu m$ and $g_a = 26\,N/V$ were obtained, which are close to the constants identified using the experimentally identified transfer functions. + +#+name: tab:test_apa_piezo_properties +#+caption: Piezoelectric properties used for the estimation of the sensor and actuators sensitivities +#+attr_latex: :environment tabularx :width 1\linewidth :align ccX +#+attr_latex: :center t :booktabs t +| *Parameter* | *Value* | *Description* | +|----------------+----------------------------+--------------------------------------------------------------| +| $d_{33}$ | $680 \cdot 10^{-12}\,m/V$ | Piezoelectric constant | +| $\epsilon^{T}$ | $4.0 \cdot 10^{-8}\,F/m$ | Permittivity under constant stress | +| $s^{D}$ | $21 \cdot 10^{-12}\,m^2/N$ | Elastic compliance understand constant electric displacement | +| $c^{E}$ | $48 \cdot 10^{9}\,N/m^2$ | Young's modulus of elasticity | +| $L$ | $20\,mm$ per stack | Length of the stack | +| $A$ | $10^{-4}\,m^2$ | Area of the piezoelectric stack | +| $n$ | $160$ per stack | Number of layers in the piezoelectric stack | + +***** Comparison of the obtained dynamics + +The obtained dynamics using the /super element/ with the tuned "sensor sensitivity" and "actuator sensitivity" are compared with the experimentally identified frequency response functions in Figure ref:fig:test_apa_super_element_comp_frf. +A good match between the model and the experimental results was observed. +It is however surprising that the model is "softer" than the measured system, as finite element models usually overestimate the stiffness (see Section ref:ssec:test_apa_spurious_resonances for possible explanations). + +Using this simple test bench, it can be concluded that the /super element/ model of the APA300ML captures the axial dynamics of the actuator (the actuator stacks, the force sensor stack as well as the shell used as a mechanical lever). + +#+name: fig:test_apa_super_element_comp_frf +#+caption: Comparison of the measured frequency response functions and the identified dynamics from the finite element model of the APA300ML. Both for the dynamics from $u$ to $d_e$ \subref{fig:test_apa_super_element_comp_frf_enc} and from $u$ to $V_s$ \subref{fig:test_apa_super_element_comp_frf_force} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_super_element_comp_frf_enc}from $u$ to $d_e$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_super_element_comp_frf_enc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_apa_super_element_comp_frf_force}from $u$ to $V_s$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_apa_super_element_comp_frf_force.png]] +#+end_subfigure +#+end_figure + +*** Conclusion +<> + +In this study, the amplified piezoelectric actuators "APA300ML" have been characterized to ensure that they fulfill all the requirements determined during the detailed design phase. + +Geometrical features such as the flatness of its interfaces, electrical capacitance, and achievable strokes were measured in Section ref:sec:test_apa_basic_meas. +These simple measurements allowed for the early detection of a manufacturing defect in one of the APA300ML. + +Then in Section ref:sec:test_apa_dynamics, using a dedicated test bench, the dynamics of all the APA300ML were measured and were found to all match very well (Figure ref:fig:test_apa_frf_dynamics). +This consistency indicates good manufacturing tolerances, facilitating the modeling and control of the nano-hexapod. +Although a non-minimum zero was identified in the transfer function from $u$ to $V_s$ (Figure ref:fig:test_apa_non_minimum_phase), it was found not to be problematic because a large amount of damping could be added using the integral force feedback strategy (Figure ref:fig:test_apa_iff). + +Then, two different models were used to represent the APA300ML dynamics. +In Section ref:sec:test_apa_model_2dof, a simple two degrees-of-freedom mass-spring-damper model was presented and tuned based on the measured dynamics. +After following a tuning procedure, the model dynamics was shown to match very well with the experiment. +However, this model only represents the axial dynamics of the actuators, assuming infinite stiffness in other directions. + +In Section ref:sec:test_apa_model_flexible, a /super element/ extracted from a finite element model was used to model the APA300ML. +Here, the /super element/ represents the dynamics of the APA300ML in all directions. +However, only the axial dynamics could be compared with the experimental results, yielding a good match. +The benefit of employing this model over the two degrees-of-freedom model is not immediately apparent due to its increased complexity and the larger number of model states involved. +Nonetheless, the /super element/ model's value will become clear in subsequent sections, when its capacity to accurately model the APA300ML's flexibility across various directions will be important. + +** Flexible Joints +*** Introduction :ignore: + +At both ends of the nano-hexapod struts, a flexible joint is used. +Ideally, these flexible joints would behave as perfect spherical joints, that is to say no bending and torsional stiffness, infinite shear and axial stiffness, unlimited bending and torsional stroke, no friction, and no backlash. + +Deviations from these ideal properties will impact the dynamics of the Nano-Hexapod and could limit the attainable performance. +During the detailed design phase, specifications in terms of stiffness and stroke were determined and are summarized in Table ref:tab:test_joints_specs. + +#+name: tab:test_joints_specs +#+caption: Specifications for the flexible joints and estimated characteristics from the Finite Element Model +#+attr_latex: :environment tabularx :width 0.5\linewidth :align Xcc +#+attr_latex: :center t :booktabs t :float t +| | *Specification* | *FEM* | +|-------------------+------------------------+-------| +| Axial Stiffness | $> 100\,N/\mu m$ | 94 | +| Shear Stiffness | $> 1\,N/\mu m$ | 13 | +| Bending Stiffness | $< 100\,Nm/\text{rad}$ | 5 | +| Torsion Stiffness | $< 500\,Nm/\text{rad}$ | 260 | +| Bending Stroke | $> 1\,\text{mrad}$ | 24.5 | + +After optimization using a finite element model, the geometry shown in Figure ref:fig:test_joints_schematic has been obtained and the corresponding flexible joint characteristics are summarized in Table ref:tab:test_joints_specs. +This flexible joint is a monolithic piece of stainless steel[fn:test_joints_1] manufactured using wire electrical discharge machining. +It serves several functions, as shown in Figure ref:fig:test_joints_iso, such as: +- Rigid interfacing with the nano-hexapod plates (yellow surfaces) +- Rigid interfacing with the amplified piezoelectric actuator (blue surface) +- Allow two rotations between the "yellow" and the "blue" interfaces. + The rotation axes are represented by the dashed lines that intersect + +#+name: fig:test_joints_schematic +#+caption: Geometry of the optimized flexible joints +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_iso}ISO view} +#+attr_latex: :options {0.38\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_joints_iso.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_yz_plane}YZ plane} +#+attr_latex: :options {0.29\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_joints_yz_plane.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_xz_plane}XZ plane} +#+attr_latex: :options {0.29\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_joints_xz_plane.png]] +#+end_subfigure +#+end_figure + +Sixteen flexible joints have been ordered (shown in Figure ref:fig:test_joints_received) such that some selection can be made for the twelve that will be used on the nano-hexapod. + +#+name: fig:test_joints_picture +#+caption: Pictures of the received 16 flexible joints +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_received}15 of the 16 received flexible joints} +#+attr_latex: :options {0.64\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.5cm +[[file:figs/test_joints_received.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_received_zoom}Zoom on one flexible joint} +#+attr_latex: :options {0.35\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.5cm +[[file:figs/test_joints_received_zoom.jpg]] +#+end_subfigure +#+end_figure + +In this document, the received flexible joints are characterized to ensure that they fulfill the requirements and such that they can well be modeled. + +First, the flexible joints are visually inspected, and the minimum gaps (responsible for most of the joint compliance) are measured (Section ref:sec:test_joints_flex_dim_meas). +Then, a test bench was developed to measure the bending stiffness of the flexible joints. +The development of this test bench is presented in Section ref:sec:test_joints_test_bench_desc, including a noise budget and some requirements in terms of instrumentation. +The test bench is then used to measure the bending stiffnesses of all the flexible joints. +Results are shown in Section ref:sec:test_joints_bending_stiffness_meas + +*** Dimensional Measurements +<> +**** Measurement Bench + +Two dimensions are critical for the bending stiffness of the flexible joints. +These dimensions can be measured using a profilometer. +The dimensions of the flexible joint in the Y-Z plane will contribute to the X-bending stiffness, whereas the dimensions in the X-Z plane will contribute to the Y-bending stiffness. + +The setup used to measure the dimensions of the "X" flexible beam is shown in Figure ref:fig:test_joints_profilometer_setup. +What is typically observed is shown in Figure ref:fig:test_joints_profilometer_image. +It is then possible to estimate the dimension of the flexible beam with an accuracy of $\approx 5\,\mu m$, + +#+name: fig:test_joints_profilometer +#+caption: Setup to measure the dimension of the flexible beam corresponding to the X-bending stiffness. The flexible joint is fixed to the profilometer \subref{fig:test_joints_profilometer_setup} and a image is obtained with which the gap can be estimated \subref{fig:test_joints_profilometer_image} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_profilometer_setup}Flexible joint fixed on the profilometer} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_joints_profilometer_setup.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_profilometer_image}Picture of the gap} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_joints_profilometer_image.png]] +#+end_subfigure +#+end_figure + +**** Measurement Results +The specified flexible beam thickness (gap) is $250\,\mu m$. +Four gaps are measured for each flexible joint (2 in the $x$ direction and 2 in the $y$ direction). +The "beam thickness" is then estimated as the mean between the gaps measured on opposite sides. + +A histogram of the measured beam thicknesses is shown in Figure ref:fig:test_joints_size_hist. +The measured thickness is less than the specified value of $250\,\mu m$, but this optical method may not be very accurate because the estimated gap can depend on the lighting of the part and of its proper alignment. + +However, what is more important than the true value of the thickness is the consistency between all flexible joints. + +#+name: fig:test_joints_size_hist +#+caption: Histogram for the (16x2) measured beams' thicknesses +#+RESULTS: +[[file:figs/test_joints_size_hist.png]] + +**** Bad flexible joints + +Using this profilometer allowed to detect flexible joints with manufacturing defects such as non-symmetrical shapes (see Figure ref:fig:test_joints_bad_shape) or flexible joints with machining chips stuck in the gap (see Figure ref:fig:test_joints_bad_chips). + +#+name: fig:test_joints_bad +#+caption: Example of two flexible joints that were considered unsatisfactory after visual inspection +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_bad_shape}Non-Symmetrical shape} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/test_joints_bad_shape.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_bad_chips}"Chips" stuck in the air gap} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/test_joints_bad_chips.jpg]] +#+end_subfigure +#+end_figure + +*** Compliance Measurement Test Bench +<> +**** Introduction :ignore: +The most important characteristic of the flexible joint to be measured is its bending stiffness $k_{R_x} \approx k_{R_y}$. + +To estimate the bending stiffness, the basic idea is to apply a torque $T_{x}$ to the flexible joints and to measure its angular deflection $\theta_{x}$. +The bending stiffness can then be computed from equation eqref:eq:test_joints_bending_stiffness. + +\begin{equation}\label{eq:test_joints_bending_stiffness} +\boxed{k_{R_x} = \frac{T_x}{\theta_x}, \quad k_{R_y} = \frac{T_y}{\theta_y}} +\end{equation} + +**** Measurement principle +<> +***** Torque and Rotation measurement +To apply torque $T_{y}$ between the two mobile parts of the flexible joint, a known "linear" force $F_{x}$ can be applied instead at a certain distance $h$ with respect to the rotation point. +In this case, the equivalent applied torque can be estimated from equation eqref:eq:test_joints_force_torque_distance. +Note that the application point of the force should be sufficiently far from the rotation axis such that the resulting bending motion is much larger than the displacement due to shear. +Such effects are studied in Section ref:ssec:test_joints_error_budget. + +\begin{equation}\label{eq:test_joints_force_torque_distance} +T_y = h F_x, \quad T_x = h F_y +\end{equation} + +Similarly, instead of directly measuring the bending motion $\theta_y$ of the flexible joint, its linear motion $d_x$ at a certain distance $h$ from the rotation points is measured. +The equivalent rotation is estimated from eqref:eq:test_joints_rot_displ. + +\begin{equation}\label{eq:test_joints_rot_displ} +\theta_y = \tan^{-1}\left(\frac{d_x}{h}\right) \approx \frac{d_x}{h}, \quad \theta_x = \tan^{-1} \left( \frac{d_y}{h} \right) \approx \frac{d_y}{h} +\end{equation} + +Then, the bending stiffness can be estimated from eqref:eq:test_joints_stiff_displ_force. + +\begin{subequations}\label{eq:test_joints_stiff_displ_force} +\begin{align} +k_{R_x} &= \frac{T_x}{\theta_x} = \frac{h F_y}{\tan^{-1}\left( \frac{d_y}{h} \right)} \approx h^2 \frac{F_y}{d_y} \\ +k_{R_y} &= \frac{T_y}{\theta_y} = \frac{h F_x}{\tan^{-1}\left( \frac{d_x}{h} \right)} \approx h^2 \frac{F_x}{d_x} +\end{align} +\end{subequations} + +The working principle of the measurement bench is schematically shown in Figure ref:fig:test_joints_bench_working_principle. +One part of the flexible joint is fixed to a rigid frame while a (known) force $F_x$ is applied to the other side of the flexible joint. +The deflection of the joint $d_x$ is measured using a displacement sensor. + +#+name: fig:test_joints_bench_working_principle +#+caption: Working principle of the test bench used to estimate the bending stiffness $k_{R_y}$ of the flexible joints by measuring $F_x$, $d_x$ and $h$ +[[file:figs/test_joints_bench_working_principle.png]] + +***** Required external applied force +The bending stiffness is foreseen to be $k_{R_y} \approx k_{R_x} \approx 5\,\frac{Nm}{rad}$ and its stroke $\theta_{y,\text{max}}\approx \theta_{x,\text{max}}\approx 25\,mrad$. +The height between the flexible point (center of the joint) and the point where external forces are applied is $h = 22.5\,mm$ (see Figure ref:fig:test_joints_bench_working_principle). + +The bending $\theta_y$ of the flexible joint due to the force $F_x$ is given by equation eqref:eq:test_joints_deflection_force. + +\begin{equation}\label{eq:test_joints_deflection_force} + \theta_y = \frac{T_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}} +\end{equation} + +Therefore, the force that must be applied to test the full range of the flexible joints is given by equation eqref:eq:test_joints_max_force. +The measurement range of the force sensor should then be higher than $5.5\,N$. + +\begin{equation}\label{eq:test_joints_max_force} + F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h} \approx 5.5\,N +\end{equation} + +***** Required actuator stroke and sensors range +The flexible joint is designed to allow a bending motion of $\pm 25\,mrad$. +The corresponding stroke at the location of the force sensor is given by eqref:eq:test_joints_max_stroke. +To test the full range of the flexible joint, the means of applying a force (explained in the next section) should allow a motion of at least $0.5\,mm$. +Similarly, the measurement range of the displacement sensor should also be higher than $0.5\,mm$. + +\begin{equation}\label{eq:test_joints_max_stroke} +d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \approx 0.5\,mm +\end{equation} + +***** Force and Displacement measurements +To determine the applied force, a load cell will be used in series with the mechanism that applied the force. +The measured deflection of the flexible joint will be indirectly estimated from the displacement of the force sensor itself (see Section ref:ssec:test_joints_test_bench). +Indirectly measuring the deflection of the flexible joint induces some errors because of the limited stiffness between the force sensor and the displacement sensor. +Such an effect will be estimated in the error budget (Section ref:ssec:test_joints_error_budget) + +**** Error budget +<> +***** Introduction :ignore: +To estimate the accuracy of the measured bending stiffness that can be obtained using this measurement principle, an error budget is performed. + +Based on equation eqref:eq:test_joints_stiff_displ_force, several errors can affect the accuracy of the measured bending stiffness: +- Errors in the measured torque $M_x, M_y$: this is mainly due to inaccuracies in the load cell and of the height estimation $h$ +- Errors in the measured bending motion of the flexible joints $\theta_x, \theta_y$: errors from limited shear stiffness, from the deflection of the load cell itself, and inaccuracy of the height estimation $h$ + +If only the bending stiffness is considered, the induced displacement is described by eqref:eq:test_joints_dbx. + +\begin{equation}\label{eq:test_joints_dbx} + d_{x,b} = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) +\end{equation} + +***** Effect of Shear +The applied force $F_x$ will induce some shear $d_{x,s}$ which is described by eqref:eq:test_joints_shear_displ with $k_s$ the shear stiffness of the flexible joint. + +\begin{equation}\label{eq:test_joints_shear_displ} + d_{x,s} = \frac{F_x}{k_s} +\end{equation} + +The measured displacement $d_x$ is affected shear, as shown in equation eqref:eq:test_joints_displ_shear. + +\begin{equation}\label{eq:test_joints_displ_shear} + d_x = d_{x,b} + d_{x,s} = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) + \frac{F_x}{k_s} \approx F_x \left( \frac{h^2}{k_{R_y}} + \frac{1}{k_s} \right) +\end{equation} + +The estimated bending stiffness $k_{\text{est}}$ then depends on the shear stiffness eqref:eq:test_joints_error_shear. + +\begin{equation}\label{eq:test_joints_error_shear} + k_{R_y,\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_s h^2}} \approx k_{R_y} \Bigl( 1 - \underbrace{\frac{k_{R_y}}{k_s h^2}}_{\epsilon_{s}} \Bigl) +\end{equation} + +With an estimated shear stiffness $k_s = 13\,N/\mu m$ from the finite element model and an height $h=25\,mm$, the estimation errors of the bending stiffness due to shear is $\epsilon_s < 0.1\,\%$ + +***** Effect of load cell limited stiffness +As explained in the previous section, because the measurement of the flexible joint deflection is indirectly performed with the encoder, errors will be made if the load cell experiences some compression. + +Suppose the load cell has an internal stiffness $k_f$, the same reasoning that was made for the effect of shear can be applied here. +The estimation error of the bending stiffness due to the limited stiffness of the load cell is then described by eqref:eq:test_joints_error_load_cell_stiffness. + +\begin{equation}\label{eq:test_joints_error_load_cell_stiffness} + k_{R_y,\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_F h^2}} \approx k_{R_y} \Bigl( 1 - \underbrace{\frac{k_{R_y}}{k_F h^2}}_{\epsilon_f} \Bigl) +\end{equation} + +With an estimated load cell stiffness of $k_f \approx 1\,N/\mu m$ (from the documentation), the errors due to the load cell limited stiffness is around $\epsilon_f = 1\,\%$. + +***** Estimation error due to height estimation error +Now consider an error $\delta h$ in the estimation of the height $h$ as described by eqref:eq:test_joints_est_h_error. + +\begin{equation}\label{eq:test_joints_est_h_error} +h_{\text{est}} = h + \delta h +\end{equation} + +The computed bending stiffness will be eqref:eq:test_joints_stiffness_height_error. + +\begin{equation}\label{eq:test_joints_stiffness_height_error} + k_{R_y, \text{est}} \approx h_{\text{est}}^2 \frac{F_x}{d_x} \approx k_{R_y} \Bigl( 1 + \underbrace{2 \frac{\delta h}{h} + \frac{\delta h ^2}{h^2}}_{\epsilon_h} \Bigl) +\end{equation} + +The height estimation is foreseen to be accurate to within $|\delta h| < 0.4\,mm$ which corresponds to a stiffness error $\epsilon_h < 3.5\,\%$. + +***** Estimation error due to force and displacement sensors accuracy +An optical encoder is used to measure the displacement (see Section ref:ssec:test_joints_test_bench) whose maximum non-linearity is $40\,nm$. +As the measured displacement is foreseen to be $0.5\,mm$, the error $\epsilon_d$ due to the encoder non-linearity is negligible $\epsilon_d < 0.01\,\%$. + +The accuracy of the load cell is specified at $1\,\%$ and therefore, estimation errors of the bending stiffness due to the limited load cell accuracy should be $\epsilon_F < 1\,\%$ + +***** Conclusion + +The different sources of errors are summarized in Table ref:tab:test_joints_error_budget. +The most important source of error is the estimation error of the distance between the flexible joint rotation axis and its contact with the force sensor. +An overall accuracy of $\approx 5\,\%$ can be expected with this measurement bench, which should be sufficient for an estimation of the bending stiffness of the flexible joints. + +#+name: tab:test_joints_error_budget +#+caption: Summary of the error budget for estimating the bending stiffness +#+attr_latex: :environment tabularx :width 0.4\linewidth :align lX +#+attr_latex: :center t :booktabs t +| *Effect* | *Error* | +|----------------------+-------------------------| +| Shear effect | $\epsilon_s < 0.1\,\%$ | +| Load cell compliance | $\epsilon_f = 1\,\%$ | +| Height error | $\epsilon_h < 3.5\,\%$ | +| Displacement sensor | $\epsilon_d < 0.01\,\%$ | +| Force sensor | $\epsilon_F < 1\,\%$ | + +**** Mechanical Design +<> + +As explained in Section ref:ssec:test_joints_meas_principle, the flexible joint's bending stiffness is estimated by applying a known force to the flexible joint's tip and by measuring its deflection at the same point. + +The force is applied using a load cell[fn:test_joints_2] such that the applied force to the flexible joint's tip is directly measured. +To control the height and direction of the applied force, a cylinder cut in half is fixed at the tip of the force sensor (pink element in Figure ref:fig:test_joints_bench_side) that initially had a flat surface. +Doing so, the contact between the flexible joint cylindrical tip and the force sensor is a point (intersection of two cylinders) at a precise height, and the force is applied in a known direction. +To translate the load cell at a constant height, it is fixed to a translation stage[fn:test_joints_3] which is moved by hand. + +Instead of measuring the displacement directly at the tip of the flexible joint (with a probe or an interferometer for instance), the displacement of the load cell itself is measured. +To do so, an encoder[fn:test_joints_4] is used, which measures the motion of a ruler. +This ruler is fixed to the translation stage in line (i.e. at the same height) with the application point to reduce Abbe errors (see Figure ref:fig:test_joints_bench_overview). + +The flexible joint can be rotated by $90^o$ in order to measure the bending stiffness in the two directions. +The obtained CAD design of the measurement bench is shown in Figure ref:fig:test_joints_bench_overview while a zoom on the flexible joint with the associated important quantities is shown in Figure ref:fig:test_joints_bench_side. + +#+name: fig:test_joints_bench +#+caption: CAD view of the test bench developed to measure the bending stiffness of the flexible joints. Different parts are shown in \subref{fig:test_joints_bench_overview} while a zoom on the flexible joint is shown in \subref{fig:test_joints_bench_side} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_bench_overview} Schematic of the test bench to measure the bending stiffness of the flexible joints} +#+attr_latex: :options {0.78\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/test_joints_bench_overview.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_bench_side} Zoom} +#+attr_latex: :options {0.21\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/test_joints_bench_side.png]] +#+end_subfigure +#+end_figure + +*** Bending Stiffness Measurement +<> +**** Introduction :ignore: + +A picture of the bench used to measure the X-bending stiffness of the flexible joints is shown in Figure ref:fig:test_joints_picture_bench_overview. +A closer view of the force sensor tip is shown in Figure ref:fig:test_joints_picture_bench_zoom. + +#+name: fig:test_joints_picture_bench +#+caption: Manufactured test bench for compliance measurement of the flexible joints +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_picture_bench_overview}Picture of the measurement bench} +#+attr_latex: :options {0.70\textwidth} +#+begin_subfigure +#+attr_latex: :height 5cm +[[file:figs/test_joints_picture_bench_overview.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_picture_bench_zoom}Zoom on the tip} +#+attr_latex: :options {0.29\textwidth} +#+begin_subfigure +#+attr_latex: :height 5cm +[[file:figs/test_joints_picture_bench_zoom.jpg]] +#+end_subfigure +#+end_figure + +**** Load Cell Calibration +In order to estimate the measured errors of the load cell "FC2231", it is compared against another load cell[fn:test_joints_5]. +The two load cells are measured simultaneously while they are pushed against each other (see Figure ref:fig:test_joints_force_sensor_calib_picture). +The contact between the two load cells is well defined as one has a spherical interface and the other has a flat surface. + +The measured forces are compared in Figure ref:fig:test_joints_force_sensor_calib_fit. +The gain mismatch between the two load cells is approximately $4\,\%$ which is higher than that specified in the data sheets. +However, the estimated non-linearity is bellow $0.2\,\%$ for forces between $1\,N$ and $5\,N$. + +#+name: fig:test_joints_force_sensor_calib +#+caption: Estimation of the load cell accuracy by comparing the measured force of two load cells. A picture of the measurement bench is shown in \subref{fig:test_joints_force_sensor_calib_picture}. Comparison of the two measured forces and estimated non-linearity are shown in \subref{fig:test_joints_force_sensor_calib_fit} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_calib_picture}Zoom on the two load cells in contact} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.5cm +[[file:figs/test_joints_force_sensor_calib_picture.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_calib_fit}Measured two forces} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.5cm +[[file:figs/test_joints_force_sensor_calib_fit.png]] +#+end_subfigure +#+end_figure + +**** Load Cell Stiffness +The objective of this measurement is to estimate the stiffness $k_F$ of the force sensor. +To do so, a stiff element (much stiffer than the estimated $k_F \approx 1\,N/\mu m$) is mounted in front of the force sensor, as shown in Figure ref:fig:test_joints_meas_force_sensor_stiffness_picture. +Then, the force sensor is pushed against this stiff element while the force sensor and the encoder displacement are measured. +The measured displacement as a function of the measured force is shown in Figure ref:fig:test_joints_force_sensor_stiffness_fit. +The load cell stiffness can then be estimated by computing a linear fit and is found to be $k_F \approx 0.68\,N/\mu m$. + +#+name: fig:test_joints_meas_force_sensor_stiffness +#+caption: Estimation of the load cell stiffness. The measurement setup is shown in \subref{fig:test_joints_meas_force_sensor_stiffness_picture}. The measurement results are shown in \subref{fig:test_joints_force_sensor_stiffness_fit}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_meas_force_sensor_stiffness_picture}Picture of the measurement bench} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.5cm +[[file:figs/test_joints_meas_force_sensor_stiffness_picture.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_force_sensor_stiffness_fit}Measured displacement as a function of the force} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.5cm +[[file:figs/test_joints_force_sensor_stiffness_fit.png]] +#+end_subfigure +#+end_figure + +**** Bending Stiffness estimation +The actual stiffness is now estimated by manually moving the translation stage from a start position where the force sensor is not yet in contact with the flexible joint to a position where the flexible joint is on its mechanical stop. + +The measured force and displacement as a function of time are shown in Figure ref:fig:test_joints_meas_bend_time. +Three regions can be observed: first, the force sensor tip is not in contact with the flexible joint and the measured force is zero; then, the flexible joint deforms linearly; and finally, the flexible joint comes in contact with the mechanical stop. + +The angular motion $\theta_{y}$ computed from the displacement $d_x$ is displayed as function of the measured torque $T_{y}$ in Figure ref:fig:test_joints_meas_F_d_lin_fit. +The bending stiffness of the flexible joint can be estimated by computing the slope of the curve in the linear regime (red dashed line) and is found to be $k_{R_y} = 4.4\,Nm/\text{rad}$. +The bending stroke can also be estimated as shown in Figure ref:fig:test_joints_meas_F_d_lin_fit and is found to be $\theta_{y,\text{max}} = 20.9\,\text{mrad}$. + +#+name: fig:test_joints_meas_example +#+caption: Results obtained on the first flexible joint. The measured force and displacement are shown in \subref{fig:test_joints_meas_bend_time}. The estimated angular displacement $\theta_x$ as a function of the estimated applied torque $T_{x}$ is shown in \subref{fig:test_joints_meas_F_d_lin_fit}. The bending stiffness $k_{R_x}$ of the flexible joint can be estimated by computing a best linear fit (red dashed line). +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_meas_bend_time}Force and displacement measured as a function of time} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.3cm +[[file:figs/test_joints_meas_bend_time.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_meas_F_d_lin_fit}Angular displacement measured as a function of the applied torque} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.3cm +[[file:figs/test_joints_meas_F_d_lin_fit.png]] +#+end_subfigure +#+end_figure + +**** Measured flexible joint stiffness + +The same measurement was performed for all the 16 flexible joints, both in the $x$ and $y$ directions. +The measured angular motion as a function of the applied torque is shown in Figure ref:fig:test_joints_meas_bending_all_raw_data for the 16 flexible joints. +This gives a first idea of the dispersion of the measured bending stiffnesses (i.e. slope of the linear region) and of the angular stroke. + +A histogram of the measured bending stiffnesses is shown in Figure ref:fig:test_joints_bend_stiff_hist. +Most of the bending stiffnesses are between $4.6\,Nm/rad$ and $5.0\,Nm/rad$. + +#+name: fig:test_joints_meas_bending_results +#+caption: Result of measured $k_{R_x}$ and $k_{R_y}$ stiffnesses for the 16 flexible joints. Raw data are shown in \subref{fig:test_joints_meas_bending_all_raw_data}. A histogram of the measured stiffnesses is shown in \subref{fig:test_joints_bend_stiff_hist} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_meas_bending_all_raw_data}Measured torque and angular motion for the flexible joints} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.3cm +[[file:figs/test_joints_meas_bending_all_raw_data.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_joints_bend_stiff_hist}Histogram of the measured bending stiffness in the x and y directions} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :height 5.3cm +[[file:figs/test_joints_bend_stiff_hist.png]] +#+end_subfigure +#+end_figure + +*** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: +<> + +The flexible joints are a key element of the nano-hexapod. +Careful dimensional measurements (Section ref:sec:test_joints_flex_dim_meas) allowed for the early identification of faulty flexible joints. +This was crucial in preventing potential complications that could have arisen from the installation of faulty joints on the nano-hexapod. + +A dedicated test bench was developed to asses the bending stiffness of the flexible joints. +Through meticulous error analysis and budgeting, a satisfactory level of measurement accuracy could be guaranteed. +The measured bending stiffness values exhibited good agreement with the predictions from the finite element model ($k_{R_x} = k_{R_y} = 5\,Nm/\text{rad}$). +These measurements are helpful for refining the model of the flexible joints, thereby enhancing the overall accuracy of the nano-hexapod model. +Furthermore, the data obtained from these measurements have provided the necessary information to select the most suitable flexible joints for the nano-hexapod, ensuring optimal performance. + +** Struts +*** Introduction :ignore: + +The Nano-Hexapod struts (shown in Figure ref:fig:test_struts_picture_strut) are composed of two flexible joints that are fixed at the two ends of the strut, one acrfull:apa[fn:test_struts_5] and one optical encoder[fn:test_struts_6]. + +#+name: fig:test_struts_picture_strut +#+caption: One strut including two flexible joints, an amplified piezoelectric actuator and an encoder +#+attr_latex: :width 0.8\linewidth +[[file:figs/test_struts_picture_strut.jpg]] + +After the strut elements have been individually characterized (see previous sections), the struts are assembled. +The mounting procedure of the struts is explained in Section ref:sec:test_struts_mounting. +A mounting bench was used to ensure coaxiality between the two ends of the struts. +In this way, no angular stroke is lost when mounted to the nano-hexapod. + +The flexible modes of the struts were then experimentally measured and compared with a finite element model (Section ref:sec:test_struts_flexible_modes). + +Dynamic measurements of the strut are performed with the same test bench used to characterize the APA300ML dynamics (Section ref:sec:test_struts_dynamical_meas). +It was found that the dynamics from the acrshort:dac voltage to the displacement measured by the encoder is complex due to the flexible modes of the struts (Section ref:sec:test_struts_flexible_modes). + +The strut models were then compared with the measured dynamics (Section ref:sec:test_struts_simscape). +The model dynamics from the acrshort:dac voltage to the axial motion of the strut (measured by an interferometer) and to the force sensor voltage well match the experimental results. +However, this is not the case for the dynamics from acrshort:dac voltage to the encoder displacement. +It is found that the complex dynamics is due to a misalignment between the flexible joints and the acrshort:apa. + +# #+name: tab:test_struts_section_matlab_code +# #+caption: Report sections and corresponding Matlab files +# #+attr_latex: :environment tabularx :width 0.6\linewidth :align lX +# #+attr_latex: :center t :booktabs t +# | *Sections* | *Matlab File* | +# |--------------------------------------------+----------------------------------| +# | Section ref:sec:test_struts_flexible_modes | =test_struts_1_flexible_modes.m= | +# | Section ref:sec:test_struts_dynamical_meas | =test_struts_2_dynamical_meas.m= | +# | Section ref:sec:test_struts_simscape | =test_struts_3_simscape_model’m= | + +*** Mounting Procedure +<> + +A mounting bench was developed to ensure: +- Good coaxial alignment between the interfaces (cylinders) of the flexible joints. + This is important not to loose to much angular stroke during their mounting into the nano-hexapod +- Uniform length across all struts +- Precise alignment of the APA with the two flexible joints +- Reproducible and consistent assembly between all struts + +A CAD view of the mounting bench is shown in Figure ref:fig:test_struts_mounting_bench_first_concept. +It consists of a "main frame" (Figure ref:fig:test_struts_mounting_step_0) precisely machined to ensure both correct strut length and strut coaxiality. +The coaxiality is ensured by good flatness (specified at $20\,\mu m$) between surfaces A and B and between surfaces C and D. +Such flatness was checked using a FARO arm[fn:test_struts_1] (see Figure ref:fig:test_struts_check_dimensions_bench) and was found to comply with the requirements. +The strut length (defined by the distance between the rotation points of the two flexible joints) was ensured by using precisely machined dowel holes. + +#+name: fig:test_struts_mounting +#+caption: Strut mounting bench +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_bench_first_concept}CAD view of the mounting bench} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_struts_mounting_bench_first_concept.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_overview}Exploded view} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_struts_mounting_overview.jpg]] +#+end_subfigure +#+end_figure + +#+name: fig:test_struts_mounting_base_part +#+caption: Main element of the mounting bench for the struts that ensure good coaxiality of the two flexible joints and correct struts length. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_0}Useful features of the main mounting element} +#+attr_latex: :options {0.56\textwidth} +#+begin_subfigure +#+attr_latex: :height 4.5cm +[[file:figs/test_struts_mounting_step_0.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_check_dimensions_bench}Dimensional check} +#+attr_latex: :options {0.43\textwidth} +#+begin_subfigure +#+attr_latex: :height 4.5cm +[[file:figs/test_struts_check_dimensions_bench.jpg]] +#+end_subfigure +#+end_figure + +The flexible joints were not directly fixed to the mounting bench but were fixed to a cylindrical "sleeve" shown in Figures ref:fig:test_struts_cylindrical_mounting_part_top and ref:fig:test_struts_cylindrical_mounting_part_bot. +The goal of these "sleeves" is to avoid mechanical stress that could damage the flexible joints during the mounting process. +These "sleeves" have one dowel groove (that are fitted to the dowel holes shown in Figure ref:fig:test_struts_mounting_step_0) that will determine the length of the mounted strut. + +#+name: fig:test_struts_cylindrical_mounting +#+caption: Preparation of the flexible joints by fixing them in their cylindrical "sleeve" +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_cylindrical_mounting_part_top}Cylindral Interface (Top)} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :height 4.5cm +[[file:figs/test_struts_cylindrical_mounting_part_top.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_cylindrical_mounting_part_bot}Cylindrlcal Interface (Bottom)} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :height 4.5cm +[[file:figs/test_struts_cylindrical_mounting_part_bot.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_joints}Mounted flexible joints} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :height 4.5cm +[[file:figs/test_struts_mounting_joints.jpg]] +#+end_subfigure +#+end_figure + +The "sleeves" were mounted to the main element as shown in Figure ref:fig:test_struts_mounting_step_0. +The left sleeve has a thigh fit such that its orientation is fixed (it is roughly aligned horizontally), while the right sleeve has a loose fit such that it can rotate (it will get the same orientation as the fixed one when tightening the screws). + +The cylindrical washers and the APA300ML are stacked on top of the flexible joints, as shown in Figure ref:fig:test_struts_mounting_step_2 and screwed together using a torque screwdriver. +A dowel pin is used to laterally align the APA300ML with the flexible joints (see the dowel slot on the flexible joints in Figure ref:fig:test_struts_mounting_joints). +Two cylindrical washers are used to allow proper mounting even when the two APA interfaces are not parallel. + +The encoder and ruler are then fixed to the strut and properly aligned, as shown in Figure ref:fig:test_struts_mounting_step_3. + +Finally, the strut can be disassembled from the mounting bench (Figure ref:fig:test_struts_mounting_step_4). +Thanks to this mounting procedure, the coaxiality and length between the two flexible joint's interfaces can be obtained within the desired tolerances. + +#+name: fig:test_struts_mounting_steps +#+caption: Steps for mounting the struts. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_1}Step 1} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_mounting_step_1.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_2}Step 2} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_mounting_step_2.jpg]] +#+end_subfigure + +\bigskip +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_3}Step 3} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_mounting_step_3.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mounting_step_4}Step 4} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_mounting_step_4.jpg]] +#+end_subfigure +#+end_figure + +*** Measurement of flexible modes +<> + +A Finite Element Model[fn:test_struts_3] of the struts is developed and is used to estimate the flexible modes. +The inertia of the encoder (estimated at $15\,g$) is considered. +The two cylindrical interfaces were fixed (boundary conditions), and the first three flexible modes were computed. +The mode shapes are displayed in Figure ref:fig:test_struts_mode_shapes: an "X-bending" mode at 189Hz, a "Y-bending" mode at 285Hz and a "Z-torsion" mode at 400Hz. + +#+name: fig:test_struts_mode_shapes +#+caption: Spurious resonances of the struts estimated from a Finite Element Model +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mode_shapes_1}X-bending mode (189Hz)} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.85\linewidth +[[file:figs/test_struts_mode_shapes_1.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mode_shapes_2}Y-bending mode (285Hz)} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.85\linewidth +[[file:figs/test_struts_mode_shapes_2.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_mode_shapes_3}Z-torsion mode (400Hz)} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.85\linewidth +[[file:figs/test_struts_mode_shapes_3.png]] +#+end_subfigure +#+end_figure + +To experimentally measure these mode shapes, a Laser vibrometer[fn:test_struts_7] was used. +It measures the difference of motion between two beam path (red points in Figure ref:fig:test_struts_meas_modes). +The strut is then excited by an instrumented hammer, and the transfer function from the hammer to the measured rotation is computed. + +The setup used to measure the "X-bending" mode is shown in Figure ref:fig:test_struts_meas_x_bending. +The "Y-bending" mode is measured as shown in Figure ref:fig:test_struts_meas_y_bending and the "Z-torsion" measurement setup is shown in Figure ref:fig:test_struts_meas_z_torsion. +These tests were performed with and without the encoder being fixed to the strut. + +#+name: fig:test_struts_meas_modes +#+caption: Measurement of strut flexible modes +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_meas_x_bending}X-bending mode} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.85\linewidth +[[file:figs/test_struts_meas_x_bending.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_meas_y_bending}Y-bending mode} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.85\linewidth +[[file:figs/test_struts_meas_y_bending.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_meas_z_torsion}Z-torsion mode} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.85\linewidth +[[file:figs/test_struts_meas_z_torsion.jpg]] +#+end_subfigure +#+end_figure + +The obtained frequency response functions for the three configurations (X-bending, Y-bending and Z-torsion) are shown in Figure ref:fig:test_struts_spur_res_frf_no_enc when the encoder is not fixed to the strut and in Figure ref:fig:test_struts_spur_res_frf_enc when the encoder is fixed to the strut. + +#+name: fig:test_struts_spur_res_frf +#+caption: Measured frequency response functions without the encoder ref:fig:test_struts_spur_res_frf and with the encoder ref:fig:test_struts_spur_res_frf_enc +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_spur_res_frf_no_enc}without encoder} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_spur_res_frf_no_enc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_spur_res_frf_enc}with the encoder} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_spur_res_frf_enc.png]] +#+end_subfigure +#+end_figure + +Table ref:tab:test_struts_spur_mode_freqs summarizes the measured resonance frequencies and the computed ones using the acrfull:fem. +The resonance frequencies of the 3 modes are only slightly decreased when the encoder is fixed to the strut. +In addition, the computed resonance frequencies from the acrshort:fem are very close to the measured frequencies when the encoder is fixed to the strut. +This validates the quality of the acrshort:fem. + +#+name: tab:test_struts_spur_mode_freqs +#+caption: Measured frequency of the flexible modes of the strut +#+attr_latex: :environment tabularx :width 0.9\linewidth :align Xccc +#+attr_latex: :center t :booktabs t :float t +| *Mode* | *FEM with Encoder* | *Exp. with Encoder* | *Exp. without Encoder* | +|-----------+--------------------+---------------------+------------------------| +| X-Bending | 189Hz | 198Hz | 226Hz | +| Y-Bending | 285Hz | 293Hz | 337Hz | +| Z-Torsion | 400Hz | 381Hz | 398Hz | + +*** Dynamical measurements +<> +**** Introduction :ignore: + +In order to measure the dynamics of the strut, the test bench used to measure the APA300ML dynamics is being used again. + +The strut mounted on the bench is shown in Figure ref:fig:test_struts_bench_leg_overview +A schematic of the bench and the associated signals are shown in Figure ref:fig:test_struts_bench_schematic. +A fiber interferometer[fn:test_struts_4] is used to measure the motion of the granite (i.e. the axial motion of the strut). + +#+name: fig:test_struts_bench_leg +#+caption: Experimental setup used to measure the dynamics of the struts. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_bench_leg_overview}Overview Picture} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :height 210px +[[file:figs/test_struts_bench_leg_overview.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_bench_schematic}Schematic} +#+attr_latex: :options {0.68\textwidth} +#+begin_subfigure +#+attr_latex: :height 210px +[[file:figs/test_struts_bench_schematic.png]] +#+end_subfigure +#+end_figure + +First, the effect of the encoder on the measured dynamics is investigated in Section ref:ssec:test_struts_effect_encoder. +The dynamics observed by the encoder and interferometers are compared in Section ref:ssec:test_struts_comp_enc_int. +Finally, all measured struts are compared in terms of dynamics in Section ref:ssec:test_struts_comp_all_struts. + +**** Effect of the Encoder on the measured dynamics +<> + +System identification was performed without the encoder being fixed to the strut (Figure ref:fig:test_struts_bench_leg_front) and with one encoder being fixed to the strut (Figure ref:fig:test_struts_bench_leg_coder). + +#+name: fig:test_struts_bench_leg_with_without_enc +#+caption: Struts fixed to the test bench with clamped flexible joints. The coder can be fixed to the struts \subref{fig:test_struts_bench_leg_coder} or removed \subref{fig:test_struts_bench_leg_front} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_bench_leg_coder}Strut with encoder} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/test_struts_bench_leg_coder.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_bench_leg_front}Strut without encoder} +#+attr_latex: :options {0.48\textwidth} +#+begin_subfigure +#+attr_latex: :height 6cm +[[file:figs/test_struts_bench_leg_front.jpg]] +#+end_subfigure +#+end_figure + +The obtained frequency response functions are compared in Figure ref:fig:test_struts_effect_encoder. +It was found that the encoder had very little effect on the transfer function from excitation voltage $u$ to the axial motion of the strut $d_a$ as measured by the interferometer (Figure ref:fig:test_struts_effect_encoder_int). +This means that the axial motion of the strut is unaffected by the presence of the encoder. +Similarly, it has little effect on the transfer function from $u$ to the sensor stack voltage $V_s$ (Figure ref:fig:test_struts_effect_encoder_iff). +This means that the encoder should have little effect on the effectiveness of the integral force feedback control strategy. + +#+name: fig:test_struts_effect_encoder +#+caption: Effect of having the encoder fixed to the struts on the measured dynamics from $u$ to $d_a$ \subref{fig:test_struts_effect_encoder_int} and from $u$ to $V_s$ \subref{fig:test_struts_effect_encoder_iff}. Comparison of the observed dynamics by the encoder and interferometers \subref{fig:test_struts_comp_enc_int} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_effect_encoder_int}$u$ to $d_a$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_effect_encoder_int.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_effect_encoder_iff}$u$ to $V_s$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_effect_encoder_iff.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_comp_enc_int}$u$ to $d_e$, $d_a$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_comp_enc_int.png]] +#+end_subfigure +#+end_figure + +**** Comparison of the encoder and interferometer +<> + +The dynamics measured by the encoder (i.e. $d_e/u$) and interferometers (i.e. $d_a/u$) are compared in Figure ref:fig:test_struts_comp_enc_int. +The dynamics from the excitation voltage $u$ to the displacement measured by the encoder $d_e$ presents a behavior that is much more complex than the dynamics of the displacement measured by the interferometer (comparison made in Figure ref:fig:test_struts_comp_enc_int). +Three additional resonance frequencies can be observed at 197Hz, 290Hz and 376Hz. +These resonance frequencies match the frequencies of the flexible modes studied in Section ref:sec:test_struts_flexible_modes. + +The good news is that these resonances are not impacting the axial motion of the strut (which is what is important for the hexapod positioning). +However, these resonances make the use of an encoder fixed to the strut difficult from a control perspective. + +**** Comparison of all the Struts +<> + +The dynamics of all the mounted struts (only 5 at the time of the experiment) were then measured on the same test bench. +The obtained dynamics from $u$ to $d_a$ are compared in Figure ref:fig:test_struts_comp_interf_plants while is dynamics from $u$ to $V_s$ are compared in Figure ref:fig:test_struts_comp_iff_plants. +A very good match can be observed between the struts. + +#+name: fig:test_struts_comp_plants +#+caption: Comparison of the measured plants +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_comp_interf_plants}$u$ to $d_a$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_struts_comp_interf_plants.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_comp_iff_plants}$u$ to $V_s$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_struts_comp_iff_plants.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_comp_enc_plants}$u$ to $d_e$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_struts_comp_enc_plants.png]] +#+end_subfigure +#+end_figure + +The same comparison is made for the transfer function from $u$ to $d_e$ (encoder output) in Figure ref:fig:test_struts_comp_enc_plants. +In this study, large dynamics differences were observed between the 5 struts. +Although the same resonance frequencies were seen for all of the struts (95Hz, 200Hz, 300Hz and 400Hz), the amplitude of the peaks were not the same. +In addition, the location or even presence of complex conjugate zeros changes from one strut to another. +The reason for this variability will be studied in the next section thanks to the strut model. + +*** Strut Model +<> +**** Introduction :ignore: + +The multi-body model of the strut was included in the multi-body model of the test bench (see Figure ref:fig:test_struts_simscape_model). +The obtained model was first used to compare the measured FRF with the existing model (Section ref:ssec:test_struts_comp_model). + +Using a flexible APA model (extracted from a acrshort:fem), the effect of a misalignment of the APA with respect to flexible joints is studied (Section ref:ssec:test_struts_effect_misalignment). +It was found that misalignment has a large impact on the dynamics from $u$ to $d_e$. +This misalignment is estimated and measured in Section ref:ssec:test_struts_meas_misalignment. +The struts were then disassembled and reassemble a second time to optimize alignment (Section ref:sec:test_struts_meas_all_aligned_struts). + +#+name: fig:test_struts_simscape_model +#+caption: Screenshot of the multi-body model of the strut fixed to the bench +#+attr_latex: :width 0.65\linewidth +[[file:figs/test_struts_simscape_model.png]] + +**** Model dynamics +<> + +Two models of the APA300ML are used here: a simple two-degrees-of-freedom model and a model using a super-element extracted from a acrlong:fem. +These two models of the APA300ML were tuned to best match the measured frequency response functions of the APA alone. +The flexible joints were modelled with the 4DoF model (axial stiffness, two bending stiffnesses and one torsion stiffness). +These two models are compared with the measured frequency responses in Figure ref:fig:test_struts_comp_frf_flexible_model. + +The model dynamics from DAC voltage $u$ to the axial motion of the strut $d_a$ (Figure ref:fig:test_struts_comp_frf_flexible_model_int) and from DAC voltage $u$ to the force sensor voltage $V_s$ (Figure ref:fig:test_struts_comp_frf_flexible_model_iff) are well matching the experimental identification. + +However, the transfer function from $u$ to encoder displacement $d_e$ are not well matching for both models. +For the 2DoF model, this is normal because the resonances affecting the dynamics are not modelled at all (the APA300ML is modeled as infinitely rigid in all directions except the translation along it's actuation axis). +For the flexible model, it will be shown in the next section that by adding some misalignment between the flexible joints and the APA300ML, this model can better represent the observed dynamics. + +#+name: fig:test_struts_comp_frf_flexible_model +#+caption: Comparison of the measured frequency response functions, the multi-body model using the 2 DoF APA model, and using the "flexible" APA300ML model (Super-Element extracted from a Finite Element Model). +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_comp_frf_flexible_model_int}$u$ to $d_a$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_struts_comp_frf_flexible_model_int.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_comp_frf_flexible_model_enc}$u$ to $d_e$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_struts_comp_frf_flexible_model_enc.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_comp_frf_flexible_model_iff}$u$ to $V_s$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_struts_comp_frf_flexible_model_iff.png]] +#+end_subfigure +#+end_figure + +**** Effect of strut misalignment +<> + +As shown in Figure ref:fig:test_struts_comp_enc_plants, the identified dynamics from DAC voltage $u$ to encoder measured displacement $d_e$ are very different from one strut to the other. +In this section, it is investigated whether poor alignment of the strut (flexible joints with respect to the APA) can explain such dynamics. +For instance, consider Figure ref:fig:test_struts_misalign_schematic where there is a misalignment in the $y$ direction between the two flexible joints (well aligned thanks to the mounting procedure in Section ref:sec:test_struts_mounting) and the APA300ML. +In this case, the "x-bending" mode at 200Hz (see Figure ref:fig:test_struts_meas_x_bending) can be expected to have greater impact on the dynamics from the actuator to the encoder. + +#+name: fig:test_struts_misalign_schematic +#+caption: Mis-alignement between the joints and the APA +#+attr_latex: :width 0.8\linewidth +[[file:figs/test_struts_misalign_schematic.png]] + +To verify this assumption, the dynamics from the output DAC voltage $u$ to the measured displacement by the encoder $d_e$ is computed using the flexible APA model for several misalignments in the $y$ direction. +The obtained dynamics are shown in Figure ref:fig:test_struts_effect_misalignment_y. +The alignment of the APA with the flexible joints has a large influence on the dynamics from actuator voltage to the measured displacement by the encoder. +The misalignment in the $y$ direction mostly influences: +- the presence of the flexible mode at 200Hz (see mode shape in Figure ref:fig:test_struts_mode_shapes_1) +- the location of the complex conjugate zero between the first two resonances: + - if $d_{y} < 0$: there is no zero between the two resonances and possibly not even between the second and third resonances + - if $d_{y} > 0$: there is a complex conjugate zero between the first two resonances +- the location of the high frequency complex conjugate zeros at 500Hz (secondary effect, as the axial stiffness of the joint also has large effect on the position of this zero) + +The same can be done for misalignments in the $x$ direction. +The obtained dynamics (Figure ref:fig:test_struts_effect_misalignment_x) are showing that misalignment in the $x$ direction mostly influences the presence of the flexible mode at 300Hz (see mode shape in Figure ref:fig:test_struts_mode_shapes_2). + +A comparison of the experimental frequency response functions in Figure ref:fig:test_struts_comp_enc_plants with the model dynamics for several $y$ misalignments in Figure ref:fig:test_struts_effect_misalignment_y indicates a clear similarity. +This similarity suggests that the identified differences in dynamics are caused by misalignment. + +#+name: fig:test_struts_effect_misalignment +#+caption: Effect of a misalignment between the flexible joints and the APA300ML in the $y$ direction \subref{fig:test_struts_effect_misalignment_y} and in the $x$ direction \subref{fig:test_struts_effect_misalignment_x} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_effect_misalignment_y}Misalignment along $y$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_effect_misalignment_y.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_struts_effect_misalignment_x}Misalignment along $x$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_struts_effect_misalignment_x.png]] +#+end_subfigure +#+end_figure + +**** Measured strut misalignment +<> + +During the initial mounting of the struts, as presented in Section ref:sec:test_struts_mounting, the positioning pins that were used to position the APA with respect to the flexible joints in the $y$ directions were not used (not received at the time). +Therefore, large $y$ misalignments are expected. + +To estimate the misalignments between the two flexible joints and the APA: +- the struts were fixed horizontally on the mounting bench, as shown in Figure ref:fig:test_struts_mounting_step_3 but without the encoder +- using a length gauge[fn:test_struts_2], the height difference between the flexible joints surface and the APA shell surface was measured for both the top and bottom joints and for both sides +- as the thickness of the flexible joint is $21\,mm$ and the thickness of the APA shell is $20\,mm$, $0.5\,mm$ of height difference should be measured if the two are perfectly aligned + +Large variations in the $y$ misalignment are found from one strut to the other (results are summarized in Table ref:tab:test_struts_meas_y_misalignment). + +To check the validity of the measurement, it can be verified that the sum of the measured thickness difference on each side is $1\,mm$ (equal to the thickness difference between the flexible joint and the APA). +Thickness differences for all the struts were found to be between $0.94\,mm$ and $1.00\,mm$ which indicate low errors compared to the misalignments found in Table ref:tab:test_struts_meas_y_misalignment. + +#+name: tab:test_struts_meas_y_misalignment +#+caption: Measured $y$ misalignment at the top and bottom of the APA. Measurements are in $mm$ +#+attr_latex: :environment tabularx :width 0.25\linewidth :align ccc +#+attr_latex: :center t :booktabs t +#+RESULTS: +| *Strut* | *Bot* | *Top* | +|---------+-------+-------| +| 1 | 0.1 | 0.33 | +| 2 | -0.19 | 0.14 | +| 3 | 0.41 | 0.32 | +| 4 | -0.01 | 0.54 | +| 5 | 0.15 | 0.02 | + +By using the measured $y$ misalignment in the model with the flexible APA model, the model dynamics from $u$ to $d_e$ is closer to the measured dynamics, as shown in Figure ref:fig:test_struts_comp_dy_tuned_model_frf_enc. +A better match in the dynamics can be obtained by fine-tuning both the $x$ and $y$ misalignments (yellow curves in Figure ref:fig:test_struts_comp_dy_tuned_model_frf_enc). + +This confirms that misalignment between the APA and the strut axis (determined by the two flexible joints) is critical and inducing large variations in the dynamics from DAC voltage $u$ to encoder measured displacement $d_e$. +If encoders are fixed to the struts, the APA and flexible joints must be precisely aligned when mounting the struts. + +In the next section, the struts are re-assembled with a "positioning pin" to better align the APA with the flexible joints. +With a better alignment, the amplitude of the spurious resonances is expected to decrease, as shown in Figure ref:fig:test_struts_effect_misalignment_y. + +#+name: fig:test_struts_comp_dy_tuned_model_frf_enc +#+caption: Comparison of the frequency response functions from DAC voltage $u$ to measured displacement $d_e$ by the encoders for the three struts. In blue, the measured dynamics is represted, in red the dynamics extracted from the model with the $y$ misalignment estimated from measurements, and in yellow, the dynamics extracted from the model when both the $x$ and $y$ misalignments are tuned +#+RESULTS: +[[file:figs/test_struts_comp_dy_tuned_model_frf_enc.png]] + +**** Proper struts alignment +<> + +After receiving the positioning pins, the struts were mounted again with the positioning pins. +This should improve the alignment of the APA with the two flexible joints. + +The alignment is then estimated using a length gauge, as described in the previous sections. +Measured $y$ alignments are summarized in Table ref:tab:test_struts_meas_y_misalignment_with_pin and are found to be bellow $55\mu m$ for all the struts, which is much better than before (see Table ref:tab:test_struts_meas_y_misalignment). + +#+name: tab:test_struts_meas_y_misalignment_with_pin +#+caption: Measured $y$ misalignment at the top and bottom of the APA after realigning the struts using a positioning pin. Measurements are in $mm$. +#+attr_latex: :environment tabularx :width 0.25\linewidth :align ccc +#+attr_latex: :center t :booktabs t +#+RESULTS: +| *Strut* | *Bot* | *Top* | +|---------+--------+-------| +| 1 | -0.02 | 0.01 | +| 2 | 0.055 | 0.0 | +| 3 | 0.01 | -0.02 | +| 4 | 0.03 | -0.03 | +| 5 | 0.0 | 0.0 | +| 6 | -0.005 | 0.055 | + +The dynamics of the re-aligned struts were then measured on the same test bench (Figure ref:fig:test_struts_bench_leg). +A comparison of the initial strut dynamics and the dynamics of the re-aligned struts (i.e. with the positioning pin) is presented in Figure ref:fig:test_struts_comp_enc_frf_realign. +Even though the struts are now much better aligned, not much improvement can be observed. +The dynamics of the six aligned struts were also quite different from one another. + +The fact that the encoders are fixed to the struts makes the control more challenging. +Therefore, fixing the encoders to the nano-hexapod plates instead may be an interesting option. + +#+name: fig:test_struts_comp_enc_frf_realign +#+caption: Comparison of the dynamics from $u$ to $d_e$ before and after proper alignment using the dowel pins +#+RESULTS: +[[file:figs/test_struts_comp_enc_frf_realign.png]] + +*** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: +<> + +The Hano-Hexapod struts are a key component of the developed acrfull:nass. +A mounting bench was used to obtain struts with good interface coaxiality, equal lengths, and ideally the same dynamics. +Using a test bench, it was found that while all the mounted struts had extremely similar dynamics when considering the axial motion and the integrated force sensor, the dynamics as seen by the encoder is much more complex and varied from one strut to the other. + +Thanks to a acrshort:fem and experimental measurements, the modes inducing this complex dynamics was identified. +The variability in the dynamics was attributed to the poor alignment of the acrshort:apa with respect to the flexible joints. +Even with better alignment using dowel pins, the observed dynamics by the encoder remained problematic. +Therefore, the encoders will be fixed directly to the nano-hexapod plates rather than being fixed to the struts. + +** Nano-Hexapod +*** Introduction :ignore: + +Prior to the nano-hexapod assembly, all the struts were mounted and individually characterized. +In Section ref:sec:test_nhexa_mounting, the assembly procedure of the nano-hexapod is presented. + +To identify the dynamics of the nano-hexapod, a special suspended table was developed, which consisted of a stiff "optical breadboard" suspended on top of four soft springs. +The Nano-Hexapod was then mounted on top of the suspended table such that its dynamics is not affected by complex dynamics except from the suspension modes of the table that can be well characterized and modeled (Section ref:sec:test_nhexa_table). + +The obtained nano-hexapod dynamics is analyzed in Section ref:sec:test_nhexa_dynamics, and compared with the multi-body model in Section ref:sec:test_nhexa_model. + +*** Nano-Hexapod Assembly Procedure +<> +The assembly of the nano-hexapod is critical for both avoiding additional stress in the flexible joints (that would result in a loss of stroke) and for precisely determining the Jacobian matrix. +The goal was to fix the six struts to the two nano-hexapod plates (shown in Figure ref:fig:test_nhexa_nano_hexapod_plates) while the two plates were parallel and aligned vertically so that all the flexible joints did not experience any stress. +To do so, a precisely machined mounting tool (Figure ref:fig:test_nhexa_center_part_hexapod_mounting) is used to position the two nano-hexapod plates during the assembly procedure. + +#+name: fig:test_nhexa_received_parts +#+caption: Nano-Hexapod plates \subref{fig:test_nhexa_nano_hexapod_plates} and mounting tool used to position the two plates during assembly \subref{fig:test_nhexa_center_part_hexapod_mounting} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_nano_hexapod_plates}Top and bottom plates} +#+attr_latex: :options {0.59\textwidth} +#+begin_subfigure +#+attr_org: :width 800px +#+attr_latex: :height 4cm +[[file:figs/test_nhexa_nano_hexapod_plates.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_center_part_hexapod_mounting}Mounting tool} +#+attr_latex: :options {0.39\textwidth} +#+begin_subfigure +#+attr_org: :width 800px +#+attr_latex: :height 4cm +[[file:figs/test_nhexa_center_part_hexapod_mounting.jpg]] +#+end_subfigure +#+end_figure + +The mechanical tolerances of the received plates were checked using a FARO arm[fn:test_nhexa_1] (Figure ref:fig:test_nhexa_plates_tolerances) and were found to comply with the requirements[fn:test_nhexa_2]. +The same was done for the mounting tool[fn:test_nhexa_3]. +The two plates were then fixed to the mounting tool, as shown in Figure ref:fig:test_nhexa_mounting_tool_hexapod_top_view. +The main goal of this "mounting tool" is to position the flexible joint interfaces (the "V" shapes) of both plates so that a cylinder can rest on the 4 flat interfaces at the same time. + +#+name: fig:test_nhexa_dimensional_check +#+caption: A FARO arm is used to dimensionally check the received parts \subref{fig:test_nhexa_plates_tolerances} and after mounting the two plates with the mounting part \subref{fig:test_nhexa_mounting_tool_hexapod_top_view} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_plates_tolerances}Dimensional check of the bottom plate} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_org: :width 800px +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_plates_tolerances.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_mounting_tool_hexapod_top_view}Wanted coaxiality between interfaces} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_org: :width 800px +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_mounting_tool_hexapod_top_view.png]] +#+end_subfigure +#+end_figure + +The quality of the positioning can be estimated by measuring the "straightness" of the top and bottom "V" interfaces. +This corresponds to the diameter of the smallest cylinder which contains all points along the measured axis. +This was again done using the FARO arm, and the results for all six struts are summarized in Table ref:tab:measured_straightness. +The straightness was found to be better than $15\,\mu m$ for all struts[fn:test_nhexa_4], which is sufficiently good to not induce significant stress of the flexible joint during assembly. + +#+name: tab:measured_straightness +#+caption: Measured straightness between the two "V" shapes for the six struts. These measurements were performed twice for each strut. +#+attr_latex: :environment tabularx :width 0.35\linewidth :align Xcc +#+attr_latex: :center t :booktabs t +| *Strut* | *Meas 1* | *Meas 2* | +|---------+--------------+--------------| +| 1 | $7\,\mu m$ | $3\, \mu m$ | +| 2 | $11\, \mu m$ | $11\, \mu m$ | +| 3 | $15\, \mu m$ | $14\, \mu m$ | +| 4 | $6\, \mu m$ | $6\, \mu m$ | +| 5 | $7\, \mu m$ | $5\, \mu m$ | +| 6 | $6\, \mu m$ | $7\, \mu m$ | + +The encoder rulers and heads were then fixed to the top and bottom plates, respectively (Figure ref:fig:test_nhexa_mount_encoder), and the encoder heads were aligned to maximize the received contrast. + +#+name: fig:test_nhexa_mount_encoder +#+caption: Mounting of the encoders to the Nano-hexapod. The rulers are fixed to the top plate \subref{fig:test_nhexa_mount_encoder_rulers} while encoders heads are fixed to the bottom plate \subref{fig:test_nhexa_mount_encoder_heads} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_mount_encoder_rulers}Encoder rulers} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_org: :width 800px +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_mount_encoder_rulers.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_mount_encoder_heads}Encoder heads} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_org: :width 800px +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_mount_encoder_heads.jpg]] +#+end_subfigure +#+end_figure + +The six struts were then fixed to the bottom and top plates one by one. +First, the top flexible joint is fixed so that its flat reference surface is in contact with the top plate. +This step precisely determines the position of the flexible joint with respect to the top plate. +The bottom flexible joint is then fixed. +After mounting all six struts, the mounting tool (Figure ref:fig:test_nhexa_center_part_hexapod_mounting) can be disassembled, and the nano-hexapod as shown in Figure ref:fig:test_nhexa_nano_hexapod_mounted is fully assembled. + +#+name: fig:test_nhexa_nano_hexapod_mounted +#+caption: Mounted Nano-Hexapod +#+attr_org: :width 800px +#+attr_latex: :width \linewidth +[[file:figs/test_nhexa_mounted_hexapod.jpg]] + +*** Suspended Table +<> +**** Introduction + +When a dynamical system is fixed to a support (such as a granite or an optical table), its dynamics will couple to the support dynamics. +This may results in additional modes appearing in the system dynamics, which are difficult to predict and model. +To prevent this issue, the strategy adopted here is to mount the nano-hexapod on top a suspended table with low frequency suspension modes. + +In this case, the modes of the suspended table were chosen to be at much lower frequency than those of the nano-hexapod such that good decoupling is obtained. +Another key advantage is that the suspension modes of the table can be easily represented using a multi-body model. +Therefore, the measured dynamics of the nano-hexapod on top of the suspended table can be compared to a multi-body model representing the same experimental conditions. +The model of the Nano-Hexapod can thus be precisely tuned to match the measured dynamics. + +The developed suspended table is described in Section ref:ssec:test_nhexa_table_setup. +The modal analysis of the table is done in ref:ssec:test_nhexa_table_identification. +Finally, the multi-body model representing the suspended table was tuned to match the measured modes (Section ref:ssec:test_nhexa_table_model). + +**** Experimental Setup +<> + +The design of the suspended table is quite straightforward. +First, an optical table with high frequency flexible mode was selected[fn:test_nhexa_5]. +Then, four springs[fn:test_nhexa_6] were selected with low spring rate such that the suspension modes are below 10Hz. +Finally, some interface elements were designed, and mechanical lateral mechanical stops were added (Figure ref:fig:test_nhexa_suspended_table_cad). + +#+name: fig:test_nhexa_suspended_table_cad +#+caption: CAD View of the vibration table. The purple cylinders are representing the soft springs. +#+attr_latex: :width 0.7\linewidth +[[file:figs/test_nhexa_suspended_table_cad.jpg]] + +**** Modal analysis of the suspended table +<> + +In order to perform a modal analysis of the suspended table, a total of 15 3-axis accelerometers[fn:test_nhexa_7] were fixed to the breadboard. +Using an instrumented hammer, the first 9 modes could be identified and are summarized in Table ref:tab:test_nhexa_suspended_table_modes. +The first 6 modes are suspension modes (i.e. rigid body mode of the breadboard) and are located below 10Hz. +The next modes are the flexible modes of the breadboard as shown in Figure ref:fig:test_nhexa_table_flexible_modes, and are located above 700Hz. + +#+attr_latex: :options [t]{0.45\textwidth} +#+begin_minipage +#+name: fig:test_nhexa_suspended_table +#+caption: Mounted suspended table. Only 1 or the 15 accelerometer is mounted on top +#+attr_latex: :width 0.99\linewidth :float nil +[[file:figs/test_nhexa_suspended_table.jpg]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.45\textwidth} +#+begin_minipage +#+begin_scriptsize +#+name: tab:test_nhexa_suspended_table_modes +#+caption: Obtained modes of the suspended table +#+attr_latex: :environment tabularx :width 0.9\linewidth :placement [b] :align clX +#+attr_latex: :booktabs t :float nil :center t +#+RESULTS: +| *Modes* | *Frequency* | *Description* | +|---------+-------------+------------------| +| 1,2 | 1.3 Hz | X-Y translations | +| 3 | 2.0 Hz | Z rotation | +| 4 | 6.9 Hz | Z translation | +| 5,6 | 9.5 Hz | X-Y rotations | +|---------+-------------+------------------| +| 7 | 701 Hz | "Membrane" Mode | +| 8 | 989 Hz | Complex mode | +| 9 | 1025 Hz | Complex mode | +#+end_scriptsize +#+end_minipage + +#+name: fig:test_nhexa_table_flexible_modes +#+caption: Three identified flexible modes of the suspended table +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_table_flexible_mode_1}Flexible mode at 701Hz} +#+attr_latex: :options {\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_nhexa_table_flexible_mode_1.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_table_flexible_mode_2}Flexible mode at 989Hz} +#+attr_latex: :options {\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_nhexa_table_flexible_mode_2.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_table_flexible_mode_3}Flexible mode at 1025Hz} +#+attr_latex: :options {\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_nhexa_table_flexible_mode_3.jpg]] +#+end_subfigure +#+end_figure + +**** Multi-body Model of the suspended table +<> + +The multi-body model of the suspended table consists simply of two solid bodies connected by 4 springs. +The 4 springs are here modeled with "bushing joints" that have stiffness and damping properties in x, y, and z directions. + +The model order is 12, which corresponds to the 6 suspension modes. +The inertia properties of the parts were determined from the geometry and material densities. +The stiffness of the springs was initially set from the datasheet nominal value of $17.8\,N/mm$ and then reduced down to $14\,N/mm$ to better match the measured suspension modes. +The stiffness of the springs in the horizontal plane is set at $0.5\,N/mm$. +The obtained suspension modes of the multi-body model are compared with the measured modes in Table ref:tab:test_nhexa_suspended_table_simscape_modes. + +#+name: tab:test_nhexa_suspended_table_simscape_modes +#+caption: Comparison of suspension modes of the multi-body model and the measured ones +#+attr_latex: :environment tabularx :width 0.6\linewidth :align Xcccc +#+attr_latex: :center t :booktabs t +| Directions | $D_x$, $D_y$ | $R_z$ | $D_z$ | $R_x$, $R_y$ | +|--------------+--------------+--------+--------+--------------| +| Multi-body | 1.3 Hz | 1.8 Hz | 6.8 Hz | 9.5 Hz | +| Experimental | 1.3 Hz | 2.0 Hz | 6.9 Hz | 9.5 Hz | + +*** Nano-Hexapod Measured Dynamics +<> + +**** Introduction :ignore: + +The Nano-Hexapod was then mounted on top of the suspended table, as shown in Figure ref:fig:test_nhexa_hexa_suspended_table. +All instrumentation (Speedgoat with ADC, DAC, piezoelectric voltage amplifiers and digital interfaces for the encoder) were configured and connected to the nano-hexapod using many cables. + +#+name: fig:test_nhexa_hexa_suspended_table +#+caption: Mounted Nano-Hexapod on top of the suspended table +#+attr_latex: :width 0.7\linewidth +[[file:figs/test_nhexa_hexa_suspended_table.jpg]] + +A modal analysis of the nano-hexapod is first performed in Section ref:ssec:test_nhexa_enc_struts_modal_analysis. +The results of the modal analysis will be useful to better understand the measured dynamics from actuators to sensors. + +A block diagram of the (open-loop) system is shown in Figure ref:fig:test_nhexa_nano_hexapod_signals. +The frequency response functions from controlled signals $\mathbf{u}$ to the force sensors voltages $\mathbf{V}_s$ and to the encoders measured displacements $\mathbf{d}_e$ are experimentally identified in Section ref:ssec:test_nhexa_identification. +The effect of the payload mass on the dynamics is discussed in Section ref:ssec:test_nhexa_added_mass. + +#+name: fig:test_nhexa_nano_hexapod_signals +#+caption: Block diagram of the studied system. The command signal generated by the speedgoat is $\mathbf{u}$, and the measured dignals are $\mathbf{d}_{e}$ and $\mathbf{V}_s$. Units are indicated in square brackets. +#+attr_latex: :width \linewidth +#+RESULTS: +[[file:figs/test_nhexa_nano_hexapod_signals.png]] + +**** Modal analysis +<> + +To facilitate the future analysis of the measured plant dynamics, a basic modal analysis of the nano-hexapod is performed. +Five 3-axis accelerometers were fixed on the top platform of the nano-hexapod (Figure ref:fig:test_nhexa_modal_analysis) and the top platform was excited using an instrumented hammer. + +#+name: fig:test_nhexa_modal_analysis +#+caption: Five accelerometers fixed on top of the nano-hexapod to perform a modal analysis +#+attr_latex: :width 0.7\linewidth +[[file:figs/test_nhexa_modal_analysis.jpg]] + +Between 100Hz and 200Hz, 6 suspension modes (i.e. rigid body modes of the top platform) were identified. +At around 700Hz, two flexible modes of the top plate were observed (see Figure ref:fig:test_nhexa_hexa_flexible_modes). +These modes are summarized in Table ref:tab:test_nhexa_hexa_modal_modes_list. + +#+name: tab:test_nhexa_hexa_modal_modes_list +#+caption: Description of the identified modes of the Nano-Hexapod +#+attr_latex: :environment tabularx :width 0.7\linewidth :align ccX +#+attr_latex: :center t :booktabs t +| *Mode* | *Frequency* | *Description* | +|--------+-------------+----------------------------------------------| +| 1 | 120 Hz | Suspension Mode: Y-translation | +| 2 | 120 Hz | Suspension Mode: X-translation | +| 3 | 145 Hz | Suspension Mode: Z-translation | +| 4 | 165 Hz | Suspension Mode: Y-rotation | +| 5 | 165 Hz | Suspension Mode: X-rotation | +| 6 | 190 Hz | Suspension Mode: Z-rotation | +| 7 | 692 Hz | (flexible) Membrane mode of the top platform | +| 8 | 709 Hz | Second flexible mode of the top platform | + +#+name: fig:test_nhexa_hexa_flexible_modes +#+caption: Two identified flexible modes of the top plate of the Nano-Hexapod +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_hexa_flexible_mode_1}Flexible mode at 692Hz} +#+attr_latex: :options {\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_nhexa_hexa_flexible_mode_1.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_hexa_flexible_mode_2}Flexible mode at 709Hz} +#+attr_latex: :options {\textwidth} +#+begin_subfigure +#+attr_latex: :width \linewidth +[[file:figs/test_nhexa_hexa_flexible_mode_2.jpg]] +#+end_subfigure +#+end_figure + +**** Identification of the dynamics +<> + +The dynamics of the nano-hexapod from the six command signals ($u_1$ to $u_6$) to the six measured displacement by the encoders ($d_{e1}$ to $d_{e6}$) and to the six force sensors ($V_{s1}$ to $V_{s6}$) were identified by generating low-pass filtered white noise for each command signal, one by one. + +The $6 \times 6$ FRF matrix from $\mathbf{u}$ ot $\mathbf{d}_e$ is shown in Figure ref:fig:test_nhexa_identified_frf_de. +The diagonal terms are displayed using colored lines, and all the 30 off-diagonal terms are displayed by gray lines. + +All six diagonal terms are well superimposed up to at least $1\,kHz$, indicating good manufacturing and mounting uniformity. +Below the first suspension mode, good decoupling can be observed (the amplitude of all off-diagonal terms are $\approx 20$ times smaller than the diagonal terms), indicating the correct assembly of all parts. + +From 10Hz up to 1kHz, around 10 resonance frequencies can be observed. +The first 4 are suspension modes (at 122Hz, 143Hz, 165Hz and 191Hz) which correlate the modes measured during the modal analysis in Section ref:ssec:test_nhexa_enc_struts_modal_analysis. +Three modes at 237Hz, 349Hz and 395Hz are attributed to the internal strut resonances (this will be checked in Section ref:ssec:test_nhexa_comp_model_coupling). +Except for the mode at 237Hz, their impact on the dynamics is small. +The two modes at 665Hz and 695Hz are attributed to the flexible modes of the top platform. +Other modes can be observed above 1kHz, which can be attributed to flexible modes of the encoder supports or to flexible modes of the top platform. + +Up to at least 1kHz, an alternating pole/zero pattern is observed, which makes the control easier to tune. +This would not have occurred if the encoders were fixed to the struts. + +#+name: fig:test_nhexa_identified_frf_de +#+caption: Measured FRF for the transfer function from $\mathbf{u}$ to $\mathbf{d}_e$. The 6 diagonal terms are the colored lines (all superimposed), and the 30 off-diagonal terms are the gray lines. +#+attr_latex: :width \linewidth +#+RESULTS: +[[file:figs/test_nhexa_identified_frf_de.png]] + +Similarly, the $6 \times 6$ FRF matrix from $\mathbf{u}$ to $\mathbf{V}_s$ is shown in Figure ref:fig:test_nhexa_identified_frf_Vs. +Alternating poles and zeros can be observed up to at least 2kHz, which is a necessary characteristics for applying decentralized IFF. +Similar to what was observed for the encoder outputs, all the "diagonal" terms are well superimposed, indicating that the same controller can be applied to all the struts. +The first flexible mode of the struts as 235Hz has large amplitude, and therefore, it should be possible to add some damping to this mode using IFF. + +#+name: fig:test_nhexa_identified_frf_Vs +#+caption: Measured FRF for the transfer function from $\mathbf{u}$ to $\mathbf{V}_s$. The 6 diagonal terms are the colored lines (all superimposed), and the 30 off-diagonal terms are the shaded black lines. +#+attr_latex: :width \linewidth +#+RESULTS: +[[file:figs/test_nhexa_identified_frf_Vs.png]] + +**** Effect of payload mass on the dynamics +<> + +One major challenge for controlling the NASS is the wanted robustness to a variation of payload mass; therefore, it is necessary to understand how the dynamics of the nano-hexapod changes with a change in payload mass. + +To study how the dynamics changes with the payload mass, up to three "cylindrical masses" of $13\,kg$ each can be added for a total of $\approx 40\,kg$. +These three cylindrical masses on top of the nano-hexapod are shown in Figure ref:fig:test_nhexa_table_mass_3. + +#+name: fig:test_nhexa_table_mass_3 +#+caption: Picture of the nano-hexapod with the added three cylindrical masses for a total of $\approx 40\,kg$ +#+attr_org: :width 800px +#+attr_latex: :width 0.8\linewidth +[[file:figs/test_nhexa_table_mass_3.jpg]] + +The obtained frequency response functions from actuator signal $u_i$ to the associated encoder $d_{ei}$ for the four payload conditions (no mass, 13kg, 26kg and 39kg) are shown in Figure ref:fig:test_nhexa_identified_frf_de_masses. +As expected, the frequency of the suspension modes decreased with increasing payload mass. +The low frequency gain does not change because it is linked to the stiffness property of the nano-hexapod and not to its mass property. + +The frequencies of the two flexible modes of the top plate first decreased significantly when the first mass was added (from $\approx 700\,Hz$ to $\approx 400\,Hz$). +This is because the added mass is composed of two half cylinders that are not fixed together. +Therefore, it adds a lot of mass to the top plate without increasing stiffness in one direction. +When more than one "mass layer" is added, the half cylinders are added at some angles such that rigidity is added in all directions (see how the three mass "layers" are positioned in Figure ref:fig:test_nhexa_table_mass_3). +In this case, the frequency of these flexible modes is increased. +In practice, the payload should be one solid body, and no decrease in the frequency of this flexible mode should be observed. +The apparent amplitude of the flexible mode of the strut at 237Hz becomes smaller as the payload mass increased. + +The measured FRFs from $u_i$ to $V_{si}$ are shown in Figure ref:fig:test_nhexa_identified_frf_Vs_masses. +For all tested payloads, the measured FRF always have alternating poles and zeros, indicating that IFF can be applied in a robust manner. + +#+name: fig:test_nhexa_identified_frf_masses +#+caption: Measured Frequency Response Functions from $u_i$ to $d_{ei}$ \subref{fig:test_nhexa_identified_frf_de_masses} and from $u_i$ to $V_{si}$ \subref{fig:test_nhexa_identified_frf_Vs_masses} for all 4 payload conditions. Only diagonal terms are shown. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_identified_frf_de_masses}$u_i$ to $d_{ei}$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_identified_frf_de_masses.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_identified_frf_Vs_masses}$u_i$ to $V_{si}$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_identified_frf_Vs_masses.png]] +#+end_subfigure +#+end_figure + +*** Nano-Hexapod Model Dynamics +<> + +**** Introduction :ignore: + +In this section, the dynamics measured in Section ref:sec:test_nhexa_dynamics is compared with those estimated from the multi-body model. +The nano-hexapod multi-body model was therefore added on top of the vibration table multi-body model, as shown in Figure ref:fig:test_nhexa_hexa_simscape. + +#+name: fig:test_nhexa_hexa_simscape +#+caption: 3D representation of the multi-body model with the nano-hexapod on top of the suspended table. Three mass "layers" are here added +#+attr_latex: :width 0.8\linewidth +[[file:figs/test_nhexa_hexa_simscape.png]] + +The model should exhibit certain characteristics that are verified in this section. +First, it should match the measured system dynamics from actuators to sensors presented in Section ref:sec:test_nhexa_dynamics. +Both the "direct" terms (Section ref:ssec:test_nhexa_comp_model) and "coupling" terms (Section ref:ssec:test_nhexa_comp_model_coupling) of the multi-body model are compared with the measured dynamics. +Second, it should also represents how the system dynamics changes when a payload is fixed to the top platform. +This is checked in Section ref:ssec:test_nhexa_comp_model_masses. + +**** Nano-Hexapod model dynamics +<> + +The multi-body model of the nano-hexapod was first configured with 4-DoF flexible joints, 2-DoF APA, and rigid top and bottom plates. +The stiffness values of the flexible joints were chosen based on the values estimated using the test bench and on the FEM. +The parameters of the APA model were determined from the test bench of the APA. +The $6 \times 6$ transfer function matrices from $\mathbf{u}$ to $\mathbf{d}_e$ and from $\mathbf{u}$ to $\mathbf{V}_s$ are then extracted from the multi-body model. + +First, is it evaluated how well the models matches the "direct" terms of the measured FRF matrix. +To do so, the diagonal terms of the extracted transfer function matrices are compared with the measured FRF in Figure ref:fig:test_nhexa_comp_simscape_diag. +It can be seen that the 4 suspension modes of the nano-hexapod (at 122Hz, 143Hz, 165Hz and 191Hz) are well modeled. +The three resonances that were attributed to "internal" flexible modes of the struts (at 237Hz, 349Hz and 395Hz) cannot be seen in the model, which is reasonable because the APAs are here modeled as a simple uniaxial 2-DoF system. +At higher frequencies, no resonances can be observed in the model, as the top plate and the encoder supports are modeled as rigid bodies. + +#+name: fig:test_nhexa_comp_simscape_diag +#+caption: Comparison of the diagonal elements (i.e. "direct" terms) of the measured FRF matrix and the dynamics identified from the multi-body model. Both for the dynamics from $u$ to $d_e$ \subref{fig:test_nhexa_comp_simscape_de_diag} and from $u$ to $V_s$ \subref{fig:test_nhexa_comp_simscape_Vs_diag} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_comp_simscape_de_diag}from $u$ to $d_e$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_comp_simscape_de_diag.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_comp_simscape_Vs_diag}from $u$ to $V_s$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_comp_simscape_Vs_diag.png]] +#+end_subfigure +#+end_figure + +**** Dynamical coupling +<> + +Another desired feature of the model is that it effectively represents coupling in the system, as this is often the limiting factor for the control of MIMO systems. +Instead of comparing the full 36 elements of the $6 \times 6$ FFR matrix from $\mathbf{u}$ to $\mathbf{d}_e$, only the first "column" is compared (Figure ref:fig:test_nhexa_comp_simscape_de_all), which corresponds to the transfer function from the command $u_1$ to the six measured encoder displacements $d_{e1}$ to $d_{e6}$. +It can be seen that the coupling in the model matches the measurements well up to the first un-modeled flexible mode at 237Hz. +Similar results are observed for all other coupling terms and for the transfer function from $\mathbf{u}$ to $\mathbf{V}_s$. + +#+name: fig:test_nhexa_comp_simscape_de_all +#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$. The APA are here modeled with a 2-DoF mass-spring-damper system. +#+RESULTS: +[[file:figs/test_nhexa_comp_simscape_de_all.png]] + +The APA300ML was then modeled with a /super-element/ extracted from a FE-software. +The obtained transfer functions from $u_1$ to the six measured encoder displacements $d_{e1}$ to $d_{e6}$ are compared with the measured FRF in Figure ref:fig:test_nhexa_comp_simscape_de_all_flex. +While the damping of the suspension modes for the /super-element/ is underestimated (which could be solved by properly tuning the proportional damping coefficients), the flexible modes of the struts at 237Hz and 349Hz are well modeled. +Even the mode 395Hz can be observed in the model. +Therefore, if the modes of the struts are to be modeled, the /super-element/ of the APA300ML can be used at the cost of obtaining a much higher order model. + +#+name: fig:test_nhexa_comp_simscape_de_all_flex +#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$. The APA are here modeled with a "super-element". +#+RESULTS: +[[file:figs/test_nhexa_comp_simscape_de_all_flex.png]] + +**** Effect of payload mass +<> + +Another important characteristic of the model is that it should represents the dynamics of the system well for all considered payloads. +The model dynamics is therefore compared with the measured dynamics for 4 payloads (no payload, 13kg, 26kg and 39kg) in Figure ref:fig:test_nhexa_comp_simscape_diag_masses. +The observed shift of the suspension modes to lower frequencies with increased payload mass is well represented by the multi-body model. +The complex conjugate zeros also well match the experiments both for the encoder outputs (Figure ref:fig:test_nhexa_comp_simscape_de_diag_masses) and the force sensor outputs (Figure ref:fig:test_nhexa_comp_simscape_Vs_diag_masses). + +Note that the model displays smaller damping than that observed experimentally for high values of the payload mass. +One option could be to tune the damping as a function of the mass (similar to what is done with the Rayleigh damping). +However, as decentralized IFF will be applied, the damping is actively brought, and the open-loop damping value should have very little impact on the obtained plant dynamics. + +#+name: fig:test_nhexa_comp_simscape_diag_masses +#+caption: Comparison of the diagonal elements (i.e. "direct" terms) of the measured FRF matrix and the dynamics identified from the multi-body model. Both for the dynamics from $u$ to $d_e$ \subref{fig:test_nhexa_comp_simscape_de_diag} and from $u$ to $V_s$ \subref{fig:test_nhexa_comp_simscape_Vs_diag} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_comp_simscape_de_diag_masses}from $u$ to $d_e$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_comp_simscape_de_diag_masses.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_nhexa_comp_simscape_Vs_diag_masses}from $u$ to $V_s$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_nhexa_comp_simscape_Vs_diag_masses.png]] +#+end_subfigure +#+end_figure + +In order to also check if the model well represents the coupling when high payload masses are used, the transfer functions from $u_1$ to $d_{e1}$ to $d_{e6}$ are compared in the case of the 39kg payload in Figure ref:fig:test_nhexa_comp_simscape_de_all_high_mass. +Excellent match between experimental and model coupling is observed. +Therefore, the model effectively represents the system coupling for different payloads. + +#+name: fig:test_nhexa_comp_simscape_de_all_high_mass +#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six encoders $d_{e1}$ to $d_{e6}$ +#+RESULTS: +[[file:figs/test_nhexa_comp_simscape_de_all_high_mass.png]] + +*** Conclusion +The goal of this test bench was to obtain an accurate model of the nano-hexapod that could then be included on top of the micro-station model. +The adopted strategy was to identify the nano-hexapod dynamics under conditions in which all factors that could have affected the nano-hexapod dynamics were considered. +This was achieved by developing a suspended table with low frequency suspension modes that can be accurately modeled (Section ref:sec:test_nhexa_table). +Although the dynamics of the nano-hexapod was indeed impacted by the dynamics of the suspended platform, this impact was also considered in the multi-body model. + +The dynamics of the nano-hexapod was then identified in Section ref:sec:test_nhexa_dynamics. +Below the first suspension mode, good decoupling could be observed for the transfer function from $\bm{u}$ to $\bm{d}_e$, which enables the design of a decentralized positioning controller based on the encoders for relative positioning purposes. +Many other modes were present above 700Hz, which will inevitably limit the achievable bandwidth. +The observed effect of the payload's mass on the dynamics was quite large, which also represents a complex control challenge. + +The frequency response functions from the six DAC voltages $\bm{u}$ to the six force sensors voltages $\bm{V}_s$ all have alternating complex conjugate poles and complex conjugate zeros for all the tested payloads (Figure ref:fig:test_nhexa_comp_simscape_Vs_diag_masses). +This indicates that it is possible to implement decentralized Integral Force Feedback in a robust manner. + +The developed multi-body model of the nano-hexapod was found to accurately represents the suspension modes of the Nano-Hexapod (Section ref:sec:test_nhexa_model). +Both FRF matrices from $\mathbf{u}$ to $\mathbf{V}_s$ and from $\mathbf{u}$ to $\mathbf{d}_e$ are well matching with the measurements, even when considering coupling (i.e. off-diagonal) terms, which are very important from a control perspective. +At frequencies above the suspension modes, the Nano-Hexapod model became inaccurate because the flexible modes were not modeled. +It was found that modeling the APA300ML using a /super-element/ allows to model the internal resonances of the struts. +The same can be done with the top platform and the encoder supports; however, the model order would be higher and may become unpractical for simulation. + +Obtaining a model that accurately represents the complex dynamics of the Nano-Hexapod was made possible by the modeling approach used in this study. +This approach involved tuning and validating models of individual components (such as the APA and flexible joints) using dedicated test benches. +The different models could then be combined to form the Nano-Hexapod dynamical model. +If a model of the nano-hexapod was developed in one time, it would be difficult to tune all the model parameters to match the measured dynamics, or even to know if the model "structure" would be adequate to represent the system dynamics. + +** Nano Active Stabilization System - ID31 +*** Introduction :ignore: + +The nano-hexapod's mounting and validation through dynamics measurements marks a crucial milestone in the development of the Nano Active Stabilization System (NASS). +This chapter presents a comprehensive experimental evaluation of the complete system's performance on the ID31 beamline, focusing on its ability to maintain precise sample positioning during various experimental conditions. + +Initially, the project planned to develop a long-stroke ($\approx 1 \, cm^3$) 5-DoF metrology system to measure sample position relative to the granite base. +However, the complexity of this development prevented its completion before the experimental testing phase on ID31. +To proceed with validation of the nano active platform and its associated control architecture, an alternative short-stroke ($> 100\,\mu m^3$) metrology system was developed, which is presented in Section ref:sec:test_id31_metrology. + +Then, several key aspects of the system validation are examined. +Section ref:sec:test_id31_open_loop_plant analyzes the identified dynamics of the nano-hexapod mounted on the micro-station under various experimental conditions, including different payload masses and rotational velocities. +These measurements are compared with predictions from the multi-body model to verify its accuracy and applicability for control design. + +Sections ref:sec:test_id31_iff and ref:sec:test_id31_hac focus on the implementation and validation of the HAC-LAC control architecture. +First, Section ref:sec:test_id31_iff demonstrates the application of decentralized Integral Force Feedback for robust active damping of the nano-hexapod's suspension modes. +This is followed in Section ref:sec:test_id31_hac by the implementation of the high authority controller, which addresses low-frequency disturbances and completes the control system design. + +Finally, Section ref:sec:test_id31_experiments evaluates the NASS's positioning performances through a comprehensive series of experiments that mirror typical scientific applications. +These include tomography scans at various speeds and with different payload masses, reflectivity measurements, and combined motion sequences that test the system's full capabilities. + +#+name: fig:test_id31_micro_station_nano_hexapod +#+caption: Picture of the micro-station without the nano-hexapod \subref{fig:test_id31_micro_station_cables} and with the nano-hexapod \subref{fig:test_id31_fixed_nano_hexapod} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_micro_station_cables}Micro-station and nano-hexapod cables} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_micro_station_cables.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_fixed_nano_hexapod}Nano-hexapod fixed on top of the micro-station} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_fixed_nano_hexapod.jpg]] +#+end_subfigure +#+end_figure + +*** Short Stroke Metrology System +<> +**** Introduction :ignore: + +The control of the nano-hexapod requires an external metrology system measuring the relative position of the nano-hexapod top platform with respect to the granite. +As the long-stroke ($\approx 1 \,cm^3$) metrology system was not developed yet, a stroke stroke ($> 100\,\mu m^3$) was used instead to validate the nano-hexapod control. + +A first considered option was to use the "Spindle error analyzer" shown in Figure ref:fig:test_id31_lion. +This system comprises 5 capacitive sensors which are facing two reference spheres. +But as the gap between the capacitive sensors and the spheres is very small[fn:test_id31_1], the risk of damaging the spheres and the capacitive sensors is too high. + +#+name: fig:test_id31_short_stroke_metrology +#+caption: Short stroke metrology system used to measure the sample position with respect to the granite in 5DoF. The system is based on a "Spindle error analyzer" \subref{fig:test_id31_lion}, but the capacitive sensors are replaced with fibered interferometers \subref{fig:test_id31_interf}. Interferometer heads are shown in \subref{fig:test_id31_interf_head} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_lion}Capacitive Sensors} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_id31_lion.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_interf}Short-Stroke metrology} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_id31_interf.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_interf_head}Interferometer head} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_id31_interf_head.jpg]] +#+end_subfigure +#+end_figure + +Instead of using capacitive sensors, 5 fibered interferometers were used in a similar way (Figure ref:fig:test_id31_interf). +At the end of each fiber, a sensor head[fn:test_id31_2] (Figure ref:fig:test_id31_interf_head) is used, which consists of a lens precisely positioned with respect to the fiber's end. +The lens is focusing the light on the surface of the sphere, such that the reflected light comes back into the fiber and produces an interference. +This way, the gap between the head and the reference sphere is much larger (here around $40\,mm$), removing the risk of collision. + +Nevertheless, the metrology system still has limited measurement range due to limited angular acceptance of the fibered interferometers. +Indeed, when the spheres are moving perpendicularly to the beam axis, the reflected light does not coincide with the incident light, and above some perpendicular displacement, the reflected light does not comes back into the fiber, and no interference is produced. + +**** Metrology Kinematics +<> + +The developed short-stroke metrology system is schematically shown in Figure ref:fig:test_id31_metrology_kinematics. +The point of interest is indicated by the blue frame $\{B\}$, which is located $H = 150\,mm$ above the nano-hexapod's top platform. +The spheres have a diameter $d = 25.4\,mm$, and indicated dimensions are $l_1 = 60\,mm$ and $l_2 = 16.2\,mm$. +In order to compute the pose of the $\{B\}$ frame with respect to the granite (i.e. with respect to the fixed interferometer heads), the measured (small) displacements $[d_1,\ d_2,\ d_3,\ d_4,\ d_5]$ by the interferometers are first written as a function of the (small) linear and angular motion of the $\{B\}$ frame $[D_x,\ D_y,\ D_z,\ R_x,\ R_y]$ eqref:eq:test_id31_metrology_kinematics. + +\begin{equation}\label{eq:test_id31_metrology_kinematics} +d_1 = D_y - l_2 R_x, \quad d_2 = D_y + l_1 R_x, \quad d_3 = -D_x - l_2 R_y, \quad d_4 = -D_x + l_1 R_y, \quad d_5 = -D_z +\end{equation} + +#+attr_latex: :options [b]{0.48\textwidth} +#+begin_minipage +#+name: fig:test_id31_metrology_kinematics +#+caption: Schematic of the measurement system. Measured distances are indicated by red arrows. +#+attr_latex: :scale 1 :float nil +[[file:figs/test_id31_metrology_kinematics.png]] +#+end_minipage +\hfill +#+attr_latex: :options [b]{0.48\textwidth} +#+begin_minipage +#+name: fig:test_id31_align_top_sphere_comparators +#+attr_latex: :width \linewidth :float nil +#+caption: The top sphere is aligned with the rotation axis of the spindle using two probes. +[[file:figs/test_id31_align_top_sphere_comparators.jpg]] +#+end_minipage + +The five equations eqref:eq:test_id31_metrology_kinematics can be written in a matrix form, and then inverted to have the pose of the $\{B\}$ frame as a linear combination of the measured five distances by the interferometers eqref:eq:test_id31_metrology_kinematics_inverse. + +\begin{equation}\label{eq:test_id31_metrology_kinematics_inverse} +\begin{bmatrix} + D_x \\ D_y \\ D_z \\ R_x \\ R_y +\end{bmatrix} = {\underbrace{\begin{bmatrix} + 0 & 1 & 0 & -l_2 & 0 \\ + 0 & 1 & 0 & l_1 & 0 \\ + -1 & 0 & 0 & 0 & -l_2 \\ + -1 & 0 & 0 & 0 & l_1 \\ + 0 & 0 & -1 & 0 & 0 +\end{bmatrix}}_{\bm{J_d}}}^{-1} \cdot \begin{bmatrix} + d_1 \\ d_2 \\ d_3 \\ d_4 \\ d_5 +\end{bmatrix} +\end{equation} + +**** Rough alignment of the reference spheres +<> + +The two reference spheres are aligned with the rotation axis of the spindle. +To do so, two measuring probes are used as shown in Figure ref:fig:test_id31_align_top_sphere_comparators. + +To not damage the sensitive sphere surface, the probes are instead positioned on the cylinder on which the sphere is mounted. +First, the probes are fixed to the bottom (fixed) cylinder to align the first sphere with the spindle axis. +Then, the probes are fixed to the top (adjustable) cylinder, and the same alignment is performed. + +With this setup, the alignment accuracy of both spheres with the spindle axis is expected to around $10\,\mu m$. +The accuracy is probably limited due to the poor coaxiality between the cylinders and the spheres. +However, this first alignment should permit to position the two sphere within the acceptance of the interferometers. + +**** Tip-Tilt adjustment of the interferometers +<> + +The short-stroke metrology system is placed on top of the main granite using a gantry made of granite blocs (Figure ref:fig:test_id31_short_stroke_metrology_overview). +Granite is used to have good vibration and thermal stability. + +#+name: fig:test_id31_short_stroke_metrology_overview +#+caption: Granite gantry used to fix the short-stroke metrology system +#+attr_latex: :width 0.8\linewidth +[[file:figs/test_id31_short_stroke_metrology_overview.jpg]] + +The interferometer beams need to be position with respect to the two reference spheres as close as possible to the ideal case shown in Figure ref:fig:test_id31_metrology_kinematics. +This means that their positions and angles needs to be well adjusted with respect to the two spheres. +First, the vertical position of the spheres is adjusted using the micro-hexapod to match the height of the interferometers. +Then, the horizontal position of the gantry is adjusted such that the coupling efficiency (i.e. the intensity of the light reflected back in the fiber) of the top interferometer is maximized. +This is equivalent as to optimize the perpendicularity between the interferometer beam and the sphere surface (i.e. the concentricity between the top beam and the sphere center). + +The lateral sensor heads (i.e. all except the top one) are each fixed to a custom tip-tilt adjustment mechanism. +This allow to individually orient them such that they all point to the spheres' center (i.e. perpendicular to the sphere surface). +This is done by maximizing the coupling efficiency of each interferometer. + +After the alignment procedure, the top interferometer should coincide with with spindle axis, and the lateral interferometers should all be in the horizontal plane and intersect the spheres' center. + +**** Fine Alignment of reference spheres using interferometers +<> + +Thanks to the first alignment of the two reference spheres with the spindle axis (Section ref:ssec:test_id31_metrology_sphere_rought_alignment) and to the fine adjustment of the interferometers orientations (Section ref:ssec:test_id31_metrology_alignment), the spindle can perform complete rotations while still having interference for all five interferometers. +This metrology can therefore be used to better align the axis defined by the two spheres' center with the spindle axis. + +The alignment process is made by few iterations. +First, the spindle is scanned and the alignment errors are recorded. +From the errors, the motion of the micro-hexapod to better align the spheres with the spindle axis is computed and the micro-hexapod is positioned accordingly. +Then, the spindle is scanned again, and the new alignment errors are recorded. + +This iterative process is first performed for angular errors (Figure ref:fig:test_id31_metrology_align_rx_ry) and then for lateral errors (Figure ref:fig:test_id31_metrology_align_dx_dy). +The remaining errors after alignment is in the order of $\pm5\,\mu\text{rad}$ in $R_x$ and $R_y$ orientations, $\pm 1\,\mu m$ in $D_x$ and $D_y$ directions and less than $0.1\,\mu m$ vertically. + +#+name: fig:test_id31_metrology_align +#+caption: Measured angular \subref{fig:test_id31_metrology_align_rx_ry} and lateral \subref{fig:test_id31_metrology_align_dx_dy} errors during a full spindle rotation. Between two rotations, the micro-hexapod is adjusted to better align the two spheres with the rotation axis. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_metrology_align_rx_ry}Angular alignment} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_metrology_align_rx_ry.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_metrology_align_dx_dy}Lateral alignment} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_metrology_align_dx_dy.png]] +#+end_subfigure +#+end_figure + +**** Estimated measurement volume +<> + +Because the interferometers are pointing to spheres and not flat surfaces, the lateral acceptance is limited. +In order to estimate the metrology acceptance, the micro-hexapod is used to perform three accurate scans of $\pm 1\,mm$, respectively along the $x$, $y$ and $z$ axes. +During these scans, the 5 interferometers are recorded individually, and the ranges in which each interferometer has enough coupling efficiency to be able to measure the displacement are estimated. +Results are summarized in Table ref:tab:test_id31_metrology_acceptance. +The obtained lateral acceptance for pure displacements in any direction is estimated to be around $+/-0.5\,mm$, which is enough for the current application as it is well above the micro-station errors to be actively corrected by the NASS. + +#+name: tab:test_id31_metrology_acceptance +#+caption: Estimated measurement range for each interferometer, and for three different directions. +#+attr_latex: :environment tabularx :width 0.45\linewidth :align Xccc +#+attr_latex: :center t :booktabs t +#+RESULTS: +| | $D_x$ | $D_y$ | $D_z$ | +|-----------+-------------+------------+-------| +| $d_1$ (y) | $1.0\,mm$ | $>2\,mm$ | $1.35\,mm$ | +| $d_2$ (y) | $0.8\,mm$ | $>2\,mm$ | $1.01\,mm$ | +| $d_3$ (x) | $>2\,mm$ | $1.06\,mm$ | $1.38\,mm$ | +| $d_4$ (x) | $>2\,mm$ | $0.99\,mm$ | $0.94\,mm$ | +| $d_5$ (z) | $1.33\, mm$ | $1.06\,mm$ | $>2\,mm$ | + +**** Estimated measurement errors +<> + +When using the NASS, the accuracy of the sample's positioning is determined by the accuracy of the external metrology. +However, the validation of the nano-hexapod, the associated instrumentation and the control architecture is independent of the accuracy of the metrology system. +Only the bandwidth and noise characteristics of the external metrology are important. +Yet, some elements effecting the accuracy of the metrology are discussed here. + +First, the "metrology kinematics" (discussed in Section ref:ssec:test_id31_metrology_kinematics) is only approximate (i.e. valid for very small displacements). +This can be easily seen when performing lateral $[D_x,\,D_y]$ scans using the micro-hexapod while recording the vertical interferometer (Figure ref:fig:test_id31_xy_map_sphere). +As the interferometer is pointing to a sphere and not to a plane, lateral motion of the sphere is seen as a vertical motion by the top interferometer. + +Then, the reference spheres have some deviations with respect to an ideal sphere [fn:test_id31_6]. +They are initially meant to be used with capacitive sensors which are integrating the shape errors over large surfaces. +When using interferometers, the size of the "light spot" on the sphere surface is a circle with a diameter approximately equal to $50\,\mu m$, and therefore the measurement is more sensitive to shape errors with small features. + +As the light from the interferometer is travelling through air (as opposed to being in vacuum), the measured distance is sensitive to any variation in the refractive index of the air. +Therefore, any variation of air temperature, pressure or humidity will induce measurement errors. +For instance, for a measurement length of $40\,mm$, a temperature variation of $0.1\,{}^oC$ (which is typical for the ID31 experimental hutch) induces an errors in the distance measurement of $\approx 4\,nm$. + +Interferometers are also affected by noise [[cite:&watchi18_review_compac_inter]]. +The effect of the noise on the translation and rotation measurements is estimated in Figure ref:fig:test_id31_interf_noise. + +#+name: fig:test_id31_metrology_errors +#+caption: Estimated measurement errors of the metrology. Cross-coupling between lateral motion and vertical measurement is shown in \subref{fig:test_id31_xy_map_sphere}. Effect of interferometer noise on the measured translations and rotations is shown in \subref{fig:test_id31_interf_noise}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_xy_map_sphere}Z measurement during an XY mapping} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_xy_map_sphere.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_interf_noise}Interferometer noise} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_interf_noise.png]] +#+end_subfigure +#+end_figure + +*** Open Loop Plant +<> +**** Introduction :ignore: + +The NASS plant is schematically shown in Figure ref:fig:test_id31_block_schematic_plant. +The input $\bm{u} = [u_1,\ u_2,\ u_3,\ u_4,\ u_5,\ u_6]$ is the command signal and corresponds to the voltages generated for each piezoelectric actuator. +After amplification, the voltages across the piezoelectric stack actuators are $\bm{V}_a = [V_{a1},\ V_{a2},\ V_{a3},\ V_{a4},\ V_{a5},\ V_{a6}]$. + +From the setpoint of micro-station stages ($r_{D_y}$ for the translation stage, $r_{R_y}$ for the tilt stage and $r_{R_z}$ for the spindle), the reference pose of the sample $\bm{r}_{\mathcal{X}}$ is computed using the micro-station's kinematics. +The sample's position $\bm{y}_\mathcal{X} = [D_x,\,D_y,\,D_z,\,R_x,\,R_y,\,R_z]$ is measured using multiple sensors. +First, the five interferometers $\bm{d} = [d_{1},\ d_{2},\ d_{3},\ d_{4},\ d_{5}]$ are used to measure the $[D_x,\,D_y,\,D_z,\,R_x,\,R_y]$ degrees of freedom of the sample. +The $R_z$ position of the sample is computed from the spindle's setpoint $r_{R_z}$ and from the 6 encoders $\bm{d}_e$ integrated in the nano-hexapod. + +The sample's position $\bm{y}_{\mathcal{X}}$ is compared to the reference position $\bm{r}_{\mathcal{X}}$ to compute the position error in the frame of the (rotating) nano-hexapod $\bm{\epsilon\mathcal{X}} = [\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]$. +Finally, the Jacobian matrix $\bm{J}$ of the nano-hexapod is used to map $\bm{\epsilon\mathcal{X}}$ in the frame of the nano-hexapod struts $\bm{\epsilon\mathcal{L}} = [\epsilon_{\mathcal{L}_1},\,\epsilon_{\mathcal{L}_2},\,\epsilon_{\mathcal{L}_3},\,\epsilon_{\mathcal{L}_4},\,\epsilon_{\mathcal{L}_5},\,\epsilon_{\mathcal{L}_6}]$. + +Voltages generated by the force sensor piezoelectric stacks $\bm{V}_s = [V_{s1},\ V_{s2},\ V_{s3},\ V_{s4},\ V_{s5},\ V_{s6}]$ will be used for active damping. + +#+name: fig:test_id31_block_schematic_plant +#+caption: Schematic of the NASS plant +#+RESULTS: +[[file:figs/test_id31_block_schematic_plant.png]] + +**** Open-Loop Plant Identification +<> + +The plant dynamics is first identified for a fixed spindle angle (at $0\,\text{deg}$) and without any payload. +The model dynamics is also identified in the same conditions. + +A first comparison between the model and the measured dynamics is done in Figure ref:fig:test_id31_first_id. +A good match can be observed for the diagonal dynamics (except the high frequency modes which are not modeled). +However, the coupling for the transfer function from command signals $\bm{u}$ to the estimated strut motion from the external metrology $\bm{\epsilon\mathcal{L}}$ is larger than expected (Figure ref:fig:test_id31_first_id_int). + +The experimental time delay estimated from the FRF (Figure ref:fig:test_id31_first_id_int) is larger than expected. +After investigation, it was found that the additional delay was due to a digital processing unit[fn:test_id31_3] that was used to get the interferometers' signals in the Speedgoat. +This issue was later solved. + +#+name: fig:test_id31_first_id +#+caption: Comparison between the measured dynamics and the multi-body model dynamics. Both for the external metrology \subref{fig:test_id31_first_id_int} and force sensors \subref{fig:test_id31_first_id_iff}. Direct terms are displayed with solid lines while off-diagonal (i.e. coupling) terms are shown with shaded lines. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_first_id_int}External Metrology} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_first_id_int.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_first_id_iff}Force Sensors} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_first_id_iff.png]] +#+end_subfigure +#+end_figure + +**** Better Angular Alignment +<> + +One possible explanation of the increased coupling observed in Figure ref:fig:test_id31_first_id_int is the poor alignment between the external metrology axes (i.e. the interferometer supports) and the nano-hexapod axes. +To estimate this alignment, a decentralized low-bandwidth feedback controller based on the nano-hexapod encoders was implemented. +This allowed to perform two straight movements of the nano-hexapod along its $x$ and $y$ axes. +During these two movements, the external metrology measurement was recorded and are shown in Figure ref:fig:test_id31_Rz_align_error_and_correct. +It was found that there is a misalignment of 2.7 degrees (rotation along the vertical axis) between the interferometer axes and nano-hexapod axes. +This was corrected by adding an offset to the spindle angle. +After alignment, the same movement was performed using the nano-hexapod while recording the signal of the external metrology. +Results shown in Figure ref:fig:test_id31_Rz_align_correct are indeed indicating much better alignment. + +#+name: fig:test_id31_Rz_align_error_and_correct +#+caption: Measurement of the Nano-Hexapod axes in the frame of the external metrology. Before alignment \subref{fig:test_id31_Rz_align_error} and after alignment \subref{fig:test_id31_Rz_align_correct}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_Rz_align_error}Before alignment} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_Rz_align_error.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_Rz_align_correct}After alignment} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_Rz_align_correct.png]] +#+end_subfigure +#+end_figure + +The plant dynamics was identified again after the fine alignment and is compared with the model dynamics in Figure ref:fig:test_id31_first_id_int_better_rz_align. +Compared to the initial identification shown in Figure ref:fig:test_id31_first_id_int, the obtained coupling has decreased and is now close to the coupling obtained with the multi-body model. +At low frequency (below $10\,\text{Hz}$) all the off-diagonal elements have an amplitude $\approx 100$ times lower compared to the diagonal elements, indicating that a low bandwidth feedback controller can be implemented in a decentralized way (i.e. $6$ SISO controllers). +Between $650\,\text{Hz}$ and $1000\,\text{Hz}$, several modes can be observed that are due to flexible modes of the top platform and modes of the two spheres adjustment mechanism. +The flexible modes of the top platform can be passively damped while the modes of the two reference spheres should not be present in the final application. + +#+name: fig:test_id31_first_id_int_better_rz_align +#+caption: Decrease of the coupling with better Rz alignment +#+RESULTS: +[[file:figs/test_id31_first_id_int_better_rz_align.png]] + +**** Effect of Payload Mass +<> + +In order to see how the system dynamics changes with the payload, open-loop identification was performed for four payload conditions that are shown in Figure ref:fig:test_id31_picture_masses. +The obtained direct terms are compared with the model dynamics in Figure ref:fig:test_nhexa_comp_simscape_diag_masses. +It is shown that the model dynamics well predicts the measured dynamics for all payload conditions. +Therefore the model can be used for model-based control is necessary. + +It is interesting to note that the anti-resonances in the force sensor plant are now appearing as minimum-phase, as the model predicts (Figure ref:fig:test_id31_comp_simscape_iff_diag_masses). + +#+name: fig:test_id31_picture_masses +#+caption: The four tested payload conditions. \subref{fig:test_id31_picture_mass_m0} without payload. \subref{fig:test_id31_picture_mass_m1} with $13\,\text{kg}$ payload. \subref{fig:test_id31_picture_mass_m2} with $26\,\text{kg}$ payload. \subref{fig:test_id31_picture_mass_m3} with $39\,\text{kg}$ payload. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_picture_mass_m0}$m=0\,\text{kg}$} +#+attr_latex: :options {0.24\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/test_id31_picture_mass_m0.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_picture_mass_m1}$m=13\,\text{kg}$} +#+attr_latex: :options {0.24\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/test_id31_picture_mass_m1.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_picture_mass_m2}$m=26\,\text{kg}$} +#+attr_latex: :options {0.24\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/test_id31_picture_mass_m2.jpg]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_picture_mass_m3}$m=39\,\text{kg}$} +#+attr_latex: :options {0.24\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.99\linewidth +[[file:figs/test_id31_picture_mass_m3.jpg]] +#+end_subfigure +#+end_figure + +#+name: fig:test_id31_comp_simscape_diag_masses +#+caption: Comparison of the diagonal elements (i.e. "direct" terms) of the measured FRF matrix and the dynamics identified from the multi-body model. Both for the dynamics from $u$ to $\epsilon\mathcal{L}$ \subref{fig:test_id31_comp_simscape_int_diag_masses} and from $u$ to $V_s$ \subref{fig:test_id31_comp_simscape_iff_diag_masses} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_comp_simscape_int_diag_masses}from $u$ to $\epsilon\mathcal{L}$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_comp_simscape_int_diag_masses.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_comp_simscape_iff_diag_masses}from $u$ to $V_s$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_comp_simscape_iff_diag_masses.png]] +#+end_subfigure +#+end_figure + +**** Effect of Spindle Rotation +<> + +To verify that all the kinematics in Figure ref:fig:test_id31_block_schematic_plant are correct and to check whether the system dynamics is affected by Spindle rotation of not, three identification experiments were performed: no spindle rotation, spindle rotation at $36\,\text{deg}/s$ and at $180\,\text{deg}/s$. + +The comparison of the obtained dynamics from command signal $u$ to estimated strut error $\epsilon\mathcal{L}$ is done in Figure ref:fig:test_id31_effect_rotation. +Both direct terms (Figure ref:fig:test_id31_effect_rotation_direct) and coupling terms (Figure ref:fig:test_id31_effect_rotation_coupling) are unaffected by the rotation. +The same can be observed for the dynamics from the command signal to the encoders and to the force sensors. +This confirms that the rotation has no significant effect on the plant dynamics. +This also indicates that the metrology kinematics is correct and is working in real time. + +#+name: fig:test_id31_effect_rotation +#+caption: Effect of the spindle rotation on the plant dynamics from $u$ to $\epsilon\mathcal{L}$. Three rotational velocities are tested ($0\,\text{deg}/s$, $36\,\text{deg}/s$ and $180\,\text{deg}/s$). Both direct terms \subref{fig:test_id31_effect_rotation_direct} and coupling terms \subref{fig:test_id31_effect_rotation_coupling} are displayed. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_effect_rotation_direct}Direct terms} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_effect_rotation_direct.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_effect_rotation_coupling}Coupling terms} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_effect_rotation_coupling.png]] +#+end_subfigure +#+end_figure + +**** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: + +The identified frequency response functions from command signals $\bm{u}$ to the force sensors $\bm{V}_s$ and to the estimated strut errors $\bm{\epsilon\mathcal{L}}$ are well matching the developed multi-body model. +Effect of payload mass is shown to be well predicted by the model, which can be useful if robust model based control is to be used. +The spindle rotation has no visible effect on the measured dynamics, indicating that controllers should be robust to the spindle rotation. + +*** Decentralized Integral Force Feedback +<> +**** Introduction :ignore: + +The HAC-LAC strategy that was previously developed and validated using the multi-body model is now experimentally implemented. + +In this section, the low authority control part is first validated. +It consisted of a decentralized Integral Force Feedback controller $\bm{K}_{\text{IFF}}$, with all the diagonal terms being equal eqref:eq:test_id31_Kiff. + +\begin{equation}\label{eq:test_id31_iff_diagonal} +\bm{K}_{\text{IFF}} = K_{\text{IFF}} \cdot \bm{I}_6 = \begin{bmatrix} +K_{\text{IFF}} & & 0 \\ +& \ddots & \\ +0 & & K_{\text{IFF}} +\end{bmatrix} +\end{equation} + +And it is implemented as shown in the block diagram of Figure ref:fig:test_id31_iff_block_diagram. + +#+name: fig:test_id31_iff_block_diagram +#+caption: Block diagram of the implemented decentralized IFF controller. The controller $\bm{K}_{\text{IFF}}$ is a diagonal controller with the same elements on every diagonal term $K_{\text{IFF}}$. +#+RESULTS: +[[file:figs/test_id31_iff_schematic.png]] + +**** IFF Plant +<> + +As the multi-body model is going to be used to evaluate the stability of the IFF controller and to optimize the achievable damping, it is first checked whether this model accurately represents the system dynamics. + +In the previous section (Figure ref:fig:test_id31_comp_simscape_iff_diag_masses), it was shown that the model well captures the dynamics from each actuator to its collocated force sensor, and that for all considered payloads. +Nevertheless, it is also important to well model the coupling in the system. +To very that, instead of comparing the 36 elements of the $6 \times 6$ frequency response matrix from $\bm{u}$ to $\bm{V_s}$, only 6 elements are compared in Figure ref:fig:test_id31_comp_simscape_Vs. +Similar results are obtained for all other 30 elements and for the different tested payload conditions. +This confirms that the multi-body model can be used to tune the IFF controller. + +#+name: fig:test_id31_comp_simscape_Vs +#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal $u_1$ to the six force sensor voltages $V_{s1}$ to $V_{s6}$ +#+RESULTS: +[[file:figs/test_id31_comp_simscape_Vs.png]] + +**** IFF Controller +<> + +A decentralized IFF controller was designed such that it adds damping to the suspension modes of the nano-hexapod for all considered payloads. +The frequency of the suspension modes are ranging from $\approx 30\,\text{Hz}$ to $\approx 250\,\text{Hz}$ (Figure ref:fig:test_id31_comp_simscape_iff_diag_masses), and therefore the IFF controller should provide integral action in this frequency range. +A second order high pass filter (cut-off frequency of $10\,\text{Hz}$) was added to limit the low frequency gain eqref:eq:test_id31_Kiff. + +\begin{equation}\label{eq:test_id31_Kiff} +K_{\text{IFF}} = g_0 \cdot \underbrace{\frac{1}{s}}_{\text{int}} \cdot \underbrace{\frac{s^2/\omega_z^2}{s^2/\omega_z^2 + 2\xi_z s /\omega_z + 1}}_{\text{2nd order LPF}},\quad \left(g_0 = -100,\ \omega_z = 2\pi10\,\text{rad/s},\ \xi_z = 0.7\right) +\end{equation} + +The bode plot of the decentralized IFF controller is shown in Figure ref:fig:test_id31_Kiff_bode_plot and the "decentralized loop-gains" for all considered payload masses are shown in Figure ref:fig:test_id31_Kiff_loop_gain. +It can be seen that the loop-gain is larger than $1$ around suspension modes indicating that some damping should be added to the suspension modes. + +#+name: fig:test_id31_Kiff +#+caption: Bode plot of the decentralized IFF controller \subref{fig:test_id31_Kiff_bode_plot}. The decentralized controller $K_{\text{IFF}}$ multiplied by the identified dynamics from $u_1$ to $V_{s1}$ for all payloads are shown in \subref{fig:test_id31_Kiff_loop_gain} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_Kiff_bode_plot}Bode plot of $K_{\text{IFF}}$} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_Kiff_bode_plot.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_Kiff_loop_gain}Decentralized Loop gains} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_Kiff_loop_gain.png]] +#+end_subfigure +#+end_figure + +To estimate the added damping, a root-locus plot is computed using the multi-body model (Figure ref:fig:test_id31_iff_root_locus). +It can be seen that for all considered payloads, the poles are bounded to the "left-half plane" indicating that the decentralized IFF is robust. +The closed-loop poles for the chosen value of the gain are displayed by black crosses. +It can be seen that while damping can be added for all payloads (as compared to the open-loop case), the optimal value of the gain is different for each payload. +For low payload masses, a higher value of the IFF controller gain could lead to better damping. +However, in this study, it was chosen to implement a fix (i.e. non-adaptive) decentralized IFF controller. + +#+name: fig:test_id31_iff_root_locus +#+caption: Root Locus plots for the designed decentralized IFF controller and using the multy-body model. Black crosses indicate the closed-loop poles for the choosen value of the gain. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_iff_root_locus_m0}$m = 0\,\text{kg}$} +#+attr_latex: :options {0.24\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_id31_iff_root_locus_m0.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_iff_root_locus_m1}$m = 13\,\text{kg}$} +#+attr_latex: :options {0.24\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_id31_iff_root_locus_m1.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_iff_root_locus_m2}$m = 26\,\text{kg}$} +#+attr_latex: :options {0.24\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_id31_iff_root_locus_m2.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_iff_root_locus_m3}$m = 39\,\text{kg}$} +#+attr_latex: :options {0.24\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.9\linewidth +[[file:figs/test_id31_iff_root_locus_m3.png]] +#+end_subfigure +#+end_figure + +**** Damped Plant +<> + +As the model is accurately modelling the system dynamics, it can be used to estimate the damped plant, i.e. the transfer functions from $\bm{u}^\prime$ to $\bm{\mathcal{L}}$. +The obtained damped plants are compared to the open-loop plants in Figure ref:fig:test_id31_comp_ol_iff_plant_model. +The peak amplitudes corresponding to the suspension modes are approximately reduced by a factor $10$ for all considered payloads, showing the effectiveness of the decentralized IFF control strategy. + +In order to experimentally validate the Decentralized IFF controller, it was implemented and the damped plants (i.e. the transfer function from $\bm{u}^\prime$ to $\bm{\epsilon\mathcal{L}}$) were identified for all payload conditions. +The obtained frequency response functions are compared with the model in Figure ref:fig:test_id31_hac_plant_effect_mass verifying the good correlation between the predicted damped plant using the multi-body model and the experimental results. + +#+name: fig:test_id31_hac_plant_effect_mass_comp_model +#+caption: Comparison of the open-loop plants and the damped plant with Decentralized IFF, estimated from the multi-body model \subref{fig:test_id31_comp_ol_iff_plant_model}. Comparison of the measured damped plants and modeled plants for all considered payloads \subref{fig:test_id31_hac_plant_effect_mass}. Only "direct" terms ($\epsilon\mathcal{L}_i/u_i^\prime$) are displayed for simplificty +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_comp_ol_iff_plant_model}Effect of IFF on the plant} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_comp_ol_iff_plant_model.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_hac_plant_effect_mass}Comparison of model and experimental results} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_hac_plant_effect_mass.png]] +#+end_subfigure +#+end_figure + +**** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: + +The implementation of a decentralized Integral Force Feedback controller has been successfully demonstrated. +Using the multi-body model, the controller was designed and optimized to ensure stability across all payload conditions while providing significant damping of suspension modes. +The experimental results validated the model predictions, showing a reduction of peak amplitudes by approximately a factor of 10 across the full payload range (0-39 kg). +While higher gains could potentially achieve better damping performance for lighter payloads, the chosen fixed-gain configuration represents a robust compromise that maintains stability and performance across all operating conditions. +The good correlation between the modeled and measured damped plants confirms the effectiveness of using the multi-body model for both controller design and performance prediction. + +*** High Authority Control in the frame of the struts +<> +**** Introduction :ignore: + +In this section, a High-Authority-Controller is developed to actively stabilize the sample's position. +The corresponding control architecture is shown in Figure ref:fig:test_id31_iff_hac_schematic. + +As the diagonal terms of the damped plants were found to be all equal (thanks to the system's symmetry and manufacturing and mounting uniformity, see Figure ref:fig:test_id31_hac_plant_effect_mass), a diagonal high authority controller $\bm{K}_{\text{HAC}}$ is implemented with all diagonal terms being equal eqref:eq:eq:test_id31_hac_diagonal. + +\begin{equation}\label{eq:eq:test_id31_hac_diagonal} +\bm{K}_{\text{HAC}} = K_{\text{HAC}} \cdot \bm{I}_6 = \begin{bmatrix} +K_{\text{HAC}} & & 0 \\ +& \ddots & \\ +0 & & K_{\text{HAC}} +\end{bmatrix} +\end{equation} + +#+name: fig:test_id31_iff_hac_schematic +#+caption: Block diagram of the implemented HAC-IFF controllers. The controller $\bm{K}_{\text{HAC}}$ is a diagonal controller with the same elements on every diagonal term $K_{\text{HAC}}$. +#+RESULTS: +[[file:figs/test_id31_iff_hac_schematic.png]] + +**** Damped Plant +<> + +To verify whether the multi body model accurately represents the measured damped dynamics, both direct terms and coupling terms corresponding to the first actuator are compared in Figure ref:fig:test_id31_comp_simscape_hac. +Considering the complexity of the system's dynamics, the model can be considered to well represent the system's dynamics, and can therefore be used to tune the feedback controller and evaluate its performances. + +#+name: fig:test_id31_comp_simscape_hac +#+caption: Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal ($u_1^\prime$) of the damped plant to the estimated errors ($\epsilon_{\mathcal{L}_i}$) in the frame of the six struts by the external metrology +#+RESULTS: +[[file:figs/test_id31_comp_simscape_hac.png]] + +The challenge here is to tune an high authority controller such that it is robust to the change of dynamics due to different payloads being used. +Doing that without using the HAC-LAC strategy would require to design a controller which gives good performances for all the undamped dynamics (blue curves in Figure ref:fig:test_id31_comp_all_undamped_damped_plants), which is a very complex control problem. +With the HAC-LAC strategy, the designed controller instead has to be be robust to all the damped dynamics (red curves in Figure ref:fig:test_id31_comp_all_undamped_damped_plants), which is easier from a control perspective. +This is one of the key benefit of using the HAC-LAC strategy. + +#+name: fig:test_id31_comp_all_undamped_damped_plants +#+caption: Comparison of the (six) direct terms for all (four) payload conditions in the undamped case (in blue) and the damped case (i.e. with the decentralized IFF being implemented, in red). +#+RESULTS: +[[file:figs/test_id31_comp_all_undamped_damped_plants.png]] + +**** Interaction Analysis +<> + +As the control strategy here is to apply a diagonal control in the frame of the struts, it is important to determine the frequency at which multivariable effects become significant, as this represents a critical limitation of the control approach. +To conduct this interaction analysis, the acrfull:rga $\bm{\Lambda_G}$ is first computed using eqref:eq:test_id31_rga for the plant dynamics identified with the multiple payload masses. + +\begin{equation}\label{eq:test_id31_rga} +\bm{\Lambda_G}(\omega) = \bm{G}(j\omega) \star \left(\bm{G}(j\omega)^{-1}\right)^{T}, \quad (\star \text{ means element wise multiplication}) +\end{equation} + +Then, acrshort:rga numbers are computed using eqref:eq:test_id31_rga_number and are use as a metric for interaction [[cite:&skogestad07_multiv_feedb_contr chapt. 3.4]]. + +\begin{equation}\label{eq:test_id31_rga_number} +\text{RGA number}(\omega) = \|\bm{\Lambda_G}(\omega) - \bm{I}\|_{\text{sum}} +\end{equation} + +The obtained acrshort:rga numbers are compared in Figure ref:fig:test_id31_hac_rga_number. +The results indicates that higher payload masses increase the coupling when implementing control in the strut reference frame (i.e., decentralized approach). +This indicates that it is progressively more challenging to achieve high bandwidth performance as the payload mass increases. +This behavior can be attributed to the fundamental approach of implementing control in the frame of the struts. +Indeed, above the suspension modes of the nano-hexapod, the induced motion by the piezoelectric actuators is no longer dictated by the kinematics but rather by the inertia of the different parts. +This design choice, while beneficial for system simplicity, introduces inherent limitations in the system's ability to handle larger masses at high frequency. + +#+name: fig:test_id31_hac_rga_number +#+caption: RGA-number for the damped plants - Comparison of all the payload conditions +#+RESULTS: +[[file:figs/test_id31_hac_rga_number.png]] + +**** Robust Controller Design +<> + +A diagonal controller was designed to be robust to change of payloads, which means that every damped plants shown in Figure ref:fig:test_id31_comp_all_undamped_damped_plants should be considered during the controller design. +For this controller design, a crossover frequency of $5\,\text{Hz}$ was chosen to limit multivariable effects as explain in Section ref:sec:test_id31_hac_interaction_analysis. +One integrator is added to increase the low frequency gain, a lead is added around $5\,\text{Hz}$ to increase the stability margins and a first order low pass filter with a cut-off frequency of $30\,\text{Hz}$ is added to improve the robustness to dynamical uncertainty at high frequency. +The controller transfer function is shown in eqref:eq:test_id31_robust_hac. + +\begin{equation}\label{eq:test_id31_robust_hac} +K_{\text{HAC}}(s) = g_0 \cdot \underbrace{\frac{\omega_c}{s}}_{\text{int}} \cdot \underbrace{\frac{1}{\sqrt{\alpha}}\frac{1 + \frac{s}{\omega_c/\sqrt{\alpha}}}{1 + \frac{s}{\omega_c\sqrt{\alpha}}}}_{\text{lead}} \cdot \underbrace{\frac{1}{1 + \frac{s}{\omega_0}}}_{\text{LPF}}, \quad \left( \omega_c = 2\pi5\,\text{rad/s},\ \alpha = 2,\ \omega_0 = 2\pi30\,\text{rad/s} \right) +\end{equation} + +The obtained "decentralized" loop-gains (i.e. the diagonal element of the controller times the diagonal terms of the plant) are shown in Figure ref:fig:test_id31_hac_loop_gain. +Closed-loop stability is verified by computing the characteristic Loci (Figure ref:fig:test_id31_hac_characteristic_loci). +However, small stability margins are observed for the highest mass, indicating that some multivariable effects are in play. + +#+name: fig:test_id31_hac_loop_gain_loci +#+caption: Robust High Authority Controller. "Decentralized loop-gains" are shown in \subref{fig:test_id31_hac_loop_gain} and characteristic loci are shown in \subref{fig:test_id31_hac_characteristic_loci} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_hac_loop_gain}Loop Gains} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_hac_loop_gain.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_hac_characteristic_loci}Characteristic Loci} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :width 0.95\linewidth +[[file:figs/test_id31_hac_characteristic_loci.png]] +#+end_subfigure +#+end_figure + +**** Performance estimation with simulation of Tomography scans +<> + +To estimate the performances that can be expected with this HAC-LAC architecture and the designed controller, simulations of tomography experiments were performed[fn:test_id31_4]. +The rotational velocity was set to $180\,\text{deg/s}$, and no payload was added on top of the nano-hexapod. +An open-loop simulation and a closed-loop simulation were performed and compared in Figure ref:fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim. +The obtained closed-loop positioning accuracy was found to comply with the requirements as it succeeded to keep the point of interest on the beam (Figure ref:fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz). + +#+name: fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim +#+caption: Position error of the sample in the XY \subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy} and YZ \subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz} planes during a simulation of a tomography experiment at $180\,\text{deg/s}$. No payload is placed on top of the nano-hexapod. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy}XY plane} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz}YZ plane} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz.png]] +#+end_subfigure +#+end_figure + +**** Robustness estimation with simulation of Tomography scans +<> + +To verify the robustness to the change of payload mass, four simulations of tomography experiments were performed with payloads as shown Figure ref:fig:test_id31_picture_masses (i.e. $0\,kg$, $13\,kg$, $26\,kg$ and $39\,kg$). +This time, the rotational velocity was set at $6\,\text{deg/s}$, as it is the typical rotational velocity for heavy samples. + +The closed-loop systems were stable for all payload conditions, indicating good control robustness. +However, the positioning errors are getting worse as the payload mass increases, especially in the lateral $D_y$ direction, as shown in Figure ref:fig:test_id31_hac_tomography_Wz36_simulation. +Yet it was decided that this controller will be tested experimentally, and improved if necessary. + +#+name: fig:test_id31_hac_tomography_Wz36_simulation +#+caption: Positioning errors in the Y-Z plane during tomography experiments simulated using the multi-body model (in closed-loop) +#+RESULTS: +[[file:figs/test_id31_hac_tomography_Wz36_simulation.png]] + +**** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: + +In this section, a High-Authority-Controller was developed to actively stabilize the sample's position. +The multi-body model was first validated by comparing it with measured frequency responses of the damped plant, showing good agreement for both direct terms and coupling terms. +This validation confirmed that the model could be reliably used to tune the feedback controller and evaluate its performances. + +An interaction analysis using the RGA-number was then performed, revealing that higher payload masses lead to increased coupling when implementing control in the strut reference frame. +Based on this analysis, a diagonal controller with a crossover frequency of 5 Hz was designed, incorporating an integrator, a lead compensator, and a first order low-pass filter. + +Finally, simulations of tomography experiments were performed to validate the HAC-LAC architecture. +The closed-loop system remained stable for all tested payload conditions (0 to 39 kg). +With no payload at $180\,\text{deg/s}$, the NASS successfully kept the sample point of interested on the beam, which fulfills the specifications. +At $6\,\text{deg/s}$, while positioning errors increased with the payload mass (particularly in the lateral direction), the system maintained stable. +These results demonstrate both the effectiveness and limitations of implementing control in the frame of the struts. + +*** Validation with Scientific experiments +<> +**** Introduction :ignore: + +In this section, the goal is to evaluate the performances of the NASS and validate its use for typical scientific experiments. +However, the online metrology prototype (presented in Section ref:sec:test_id31_metrology) does not allow samples to be placed on top of the nano-hexapod while being illuminated by the x-ray beam. +Nevertheless, in order to fully validate the NASS, typical motion performed during scientific experiments can be mimicked, and the positioning performances can be evaluated. + +Several scientific experiments are here replicated, such as: +- Tomography scans: continuous rotation of the Spindle along the vertical axis (Section ref:ssec:test_id31_scans_tomography) +- Reflectivity scans: $R_y$ rotations using the tilt-stage (Section ref:ssec:test_id31_scans_reflectivity) +- Vertical layer scans: $D_z$ step motion or ramp scans using the nano-hexapod (Section ref:ssec:test_id31_scans_dz) +- Lateral scans: $D_y$ scans using the $T_y$ translation stage (Section ref:ssec:test_id31_scans_dy) +- Diffraction Tomography:continuous $R_z$ rotation using the Spindle and lateral $D_y$ scans performed at the same time using the translation stage. + This is the experiment with the most stringent requirements (Section ref:ssec:test_id31_scans_diffraction_tomo) + +Unless explicitly stated, all the closed-loop experiments are performed using the robust (i.e. conservative) high authority controller designed in Section ref:ssec:test_id31_iff_hac_controller. + +For each experiment, the obtained performances are compared to the specifications for the most depending case in which nano-focusing optics are used to focus the beam down to $200\,nm\times 100\,nm$. +In this case, the goal is to keep the sample's point of interested in the beam, and therefore the $D_y$ and $D_z$ positioning errors should be less than $200\,nm$ and $100\,nm$ peak-to-peak respectively. +The $R_y$ error should be less than $1.7\,\mu\text{rad}$ peak-to-peak. +In terms of RMS errors, this corresponds to $30\,nm$ in $D_y$, $15\,nm$ in $D_z$ and $250\,\text{nrad}$ in $R_y$ (a summary of the specifications is given in Table ref:tab:test_id31_experiments_specifications). + +Results obtained for all the experiments are summarized and compared to the specifications in Section ref:ssec:test_id31_scans_conclusion. + +#+name: tab:test_id31_experiments_specifications +#+caption: Specifications for the Nano-Active-Stabilization-System +#+attr_latex: :environment tabularx :width 0.45\linewidth :align Xccc +#+attr_latex: :center t :booktabs t +| | $D_y$ | $D_z$ | $R_y$ | +|-------------+-------+-------+----------------------| +| peak 2 peak | 200nm | 100nm | $1.7\,\mu\text{rad}$ | +| RMS | 30nm | 15nm | $250\,\text{nrad}$ | + +**** Tomography Scans +<> +***** Slow Tomography scans + +First, tomography scans are performed with a rotational velocity of $6\,\text{deg/s}$ for all considered payload masses (shown in Figure ref:fig:test_id31_picture_masses). +Each experimental sequence consisted of two complete spindle rotations: an initial open-loop rotation followed by a closed-loop rotation. +The experimental results for the $26\,\text{kg}$ payload are presented in Figure ref:fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit. + +Due to static deformation of the micro-station stages under payload loading, a significant eccentricity was observed between the point of interest and the spindle rotation axis. +To establish a theoretical lower bound for open-loop errors, an ideal scenario was assumed where the point of interest perfectly aligns with the spindle rotation axis. +This idealized case was simulated by first calculating the eccentricity through circular fitting (represented by the dashed black circle in Figure ref:fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit), and then subtracting it from the measured data, as shown in Figure ref:fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed. +While this approach likely underestimates actual open-loop errors, as perfect alignment is practically unattainable, it enables a more balanced comparison with closed-loop performance. + +#+name: fig:test_id31_tomo_m2_1rpm_robust_hac_iff +#+caption: Tomography experiment with rotation velocity of $6\,\text{deg/s}$, and payload mass of 26kg. Errors in the $(x,y)$ plane are shown in \subref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}. The estimated eccentricity is displayed by the black dashed circle. Errors with subtracted eccentricity are shown in \subref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}Errors in $(x,y)$ plane} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/test_id31_tomo_m2_1rpm_robust_hac_iff_fit.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed}Removed eccentricity} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed.png]] +#+end_subfigure +#+end_figure + +After eccentricity compensation for each experiment, the residual motion in the $Y-Z$ is compared against the minimum beam size, as illustrated in Figure ref:fig:test_id31_tomo_Wz36_results. +Results are indicating the NASS succeeds in keeping the sample's point of interests on the beam, except for the highest mass of $39\,\text{kg}$ for which the lateral motion is a bit too high. +These experimental findings align with the predictions from the tomography simulations presented in Section ref:ssec:test_id31_iff_hac_robustness. + +#+name: fig:test_id31_tomo_Wz36_results +#+caption: Measured errors in the $Y-Z$ plane during tomography experiments at $6\,\text{deg/s}$ for all considered payloads. In the open-loop case, the effect of eccentricity is removed from the data. +#+RESULTS: +[[file:figs/test_id31_tomo_Wz36_results.png]] + +***** Fast Tomography scans + +A tomography experiment was then performed with the highest rotational velocity of the Spindle: $180\,\text{deg/s}$[fn:test_id31_7]. +The trajectory of the point of interest during this fast tomography scan is shown in Figure ref:fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp. +While the experimental results closely mirror the simulation results (Figure ref:fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim), the actual performance are slightly lower than predicted. +Nevertheless, even with this robust (conservative) HAC implementation, the system performance approaches the specified requirements. + +#+name: fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp +#+caption: Experimental results of a tomography experiment at 180 deg/s without payload. Position error of the sample is shown in the XY \subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy} and YZ \subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz} planes. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy}XY plane} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz}YZ plane} +#+attr_latex: :options {0.49\textwidth} +#+begin_subfigure +#+attr_latex: :scale 0.9 +[[file:figs/test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz.png]] +#+end_subfigure +#+end_figure + +***** Cumulative Amplitude Spectra + +A comparative analysis was conducted using three tomography scans at $180,\text{deg/s}$ to evaluate the effectiveness of the HAC-LAC strategy in reducing positioning errors. +The scans were performed under three conditions: open-loop, with decentralized IFF control, and with the complete HAC-LAC strategy. +For these specific measurements, an enhanced high authority controller was optimized for low payload masses to meet performance requirements. + +Figure ref:fig:test_id31_hac_cas_cl presents the cumulative amplitude spectra of the position errors for all three cases. +The results reveal two distinct control contributions: the decentralized IFF effectively attenuates vibrations near the nano-hexapod suspension modes (an achievement not possible with HAC alone), while the high authority controller suppresses low-frequency vibrations primarily arising from Spindle guiding errors. +Notably, the spectral patterns in Figure ref:fig:test_id31_hac_cas_cl closely resemble the cumulative amplitude spectra computed in the project's early stages. + +This experiment also illustrates that when needed, performance can be enhanced by designing controllers for specific experimental conditions, rather than relying solely on robust controllers that accommodate all payload ranges. + +#+name: fig:test_id31_hac_cas_cl +#+caption: Cumulative Amplitude Spectrum for tomography experiments at $180\,\text{deg}/s$. Open-Loop case, IFF, and HAC-LAC are compared. Specifications are indicated by black dashed lines. RSM values are indicated in the legend. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_hac_cas_cl_dy} $D_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_hac_cas_cl_dy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_hac_cas_cl_dz} $D_z$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_hac_cas_cl_dz.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_hac_cas_cl_ry} $R_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_hac_cas_cl_ry.png]] +#+end_subfigure +#+end_figure + +**** Reflectivity Scans +<> + +X-ray reflectivity measurements involve scanning thin structures, particularly solid/liquid interfaces, through the beam by varying the $R_y$ angle. +In this experiment, a $R_y$ scan was executed at a rotational velocity of $100,\mu rad/s$, and the closed-loop positioning errors were monitored (Figure ref:fig:test_id31_reflectivity). +The results confirm that the NASS successfully maintains the point of interest within the specified beam parameters throughout the scanning process. + +#+name: fig:test_id31_reflectivity +#+caption: Reflectivity scan ($R_y$) with a rotational velocity of $100\,\mu \text{rad}/s$. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_reflectivity_dy}$D_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_reflectivity_dy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_reflectivity_dz}$D_z$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_reflectivity_dz.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_reflectivity_ry}$R_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_reflectivity_ry.png]] +#+end_subfigure +#+end_figure + +**** Dirty Layer Scans +<> +***** Introduction :ignore: + +In some cases, samples are composed of several atomic "layers" that are first aligned in the horizontal plane through $R_x$ and $R_y$ positioning, followed by vertical scanning with precise $D_z$ motion. +These vertical scans can be executed either continuously or in a step-by-step manner. + +***** Step by Step $D_z$ motion + +The vertical step motion is performed exclusively with the nano-hexapod. +Testing was conducted across step sizes ranging from $10,nm$ to $1,\mu m$, with results presented in Figure ref:fig:test_id31_dz_mim_steps. The system successfully resolves 10nm steps when detectors integrate over a 50ms period (illustrated by the red curve in Figure ref:fig:test_id31_dz_mim_10nm_steps), which is compatible with many experimental requirements. + +In step-by-step scanning procedures, settling time is a critical parameter as it significantly impacts the total experiment duration. +The system achieves a response time of approximately $70,ms$ to reach the target position (within $\pm 20,nm$), as demonstrated by the $1,\mu m$ step response in Figure ref:fig:test_id31_dz_mim_1000nm_steps. +This settling duration typically decreases for smaller step sizes. + +#+name: fig:test_id31_dz_mim_steps +#+caption: Vertical steps performed with the nano-hexapod. 10nm steps are shown in \subref{fig:test_id31_dz_mim_10nm_steps} with the low pass filtered data corresponding to an integration time of $50\,ms$. 100nm steps are shown in \subref{fig:test_id31_dz_mim_100nm_steps}. The response time to reach a peak to peak error of $\pm 20\,nm$ is $\approx 70\,ms$ as shown in \subref{fig:test_id31_dz_mim_1000nm_steps} for a $1\,\mu m$ step. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_mim_10nm_steps}10nm steps} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_mim_10nm_steps.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_mim_100nm_steps}100nm steps} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_mim_100nm_steps.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_mim_1000nm_steps}$1\,\mu$m step} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_mim_1000nm_steps.png]] +#+end_subfigure +#+end_figure + +***** Continuous $D_z$ motion: Dirty Layer Scans + +For these and subsequent experiments, the NASS performs "ramp scans" (constant velocity scans). +To eliminate tracking errors, the feedback controller incorporates two integrators, compensating for the plant's lack of integral action at low frequencies. + +Initial testing at $10,\mu m/s$ demonstrates positioning errors well within specifications (indicated by dashed lines in Figure ref:fig:test_id31_dz_scan_10ums). + +#+name: fig:test_id31_dz_scan_10ums +#+caption: $D_z$ scan with a velocity of $10\,\mu m/s$. $D_z$ setpoint, measured position and error are shown in \subref{fig:test_id31_dz_scan_10ums_dz}. Errors in $D_y$ and $R_y$ are respectively shown in \subref{fig:test_id31_dz_scan_10ums_dy} and \subref{fig:test_id31_dz_scan_10ums_ry} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_scan_10ums_dy}$D_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_scan_10ums_dy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_scan_10ums_dz}$D_z$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_scan_10ums_dz.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_scan_10ums_ry}$R_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_scan_10ums_ry.png]] +#+end_subfigure +#+end_figure + +A subsequent scan at $100,\mu m/s$ - the maximum velocity for high-precision $D_z$ scans[fn:test_id31_8] - maintains positioning errors within specifications during the constant velocity phase, with deviations occurring only during acceleration and deceleration phases (Figure ref:fig:test_id31_dz_scan_100ums). +Since detectors typically operate only during the constant velocity phase, these transient deviations do not compromise measurement quality. +Yet, performance during acceleration phases could potentially be enhanced through the implementation of feedforward control. + +#+name: fig:test_id31_dz_scan_100ums +#+caption: $D_z$ scan with a velocity of $100\,\mu m/s$. $D_z$ setpoint, measured position and error are shown in \subref{fig:test_id31_dz_scan_100ums_dz}. Errors in $D_y$ and $R_y$ are respectively shown in \subref{fig:test_id31_dz_scan_100ums_dy} and \subref{fig:test_id31_dz_scan_100ums_ry} +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_scan_100ums_dy}$D_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_scan_100ums_dy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_scan_100ums_dz}$D_z$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_scan_100ums_dz.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dz_scan_100ums_ry}$R_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dz_scan_100ums_ry.png]] +#+end_subfigure +#+end_figure + +**** Lateral Scans +<> +***** Introduction :ignore: + +Lateral scans are executed using the $T_y$ stage. +The stepper motor controller[fn:test_id31_5] generates a setpoint that is transmitted to the Speedgoat. +Within the Speedgoat, the system computes the positioning error by comparing the measured $D_y$ sample position against the received setpoint, and the Nano-Hexapod compensates for positioning errors introduced during $T_y$ stage scanning. +The scanning range is constrained $\pm 100\,\mu m$ due to the limited acceptance of the metrology system. + +***** Slow scan + +Initial testing utilized a scanning velocity of $10,\mu m/s$, which is typical for these experiments. +Figure ref:fig:test_id31_dy_10ums compares the positioning errors between open-loop (without NASS) and closed-loop operation. +In the scanning direction, open-loop measurements reveal periodic errors (Figure ref:fig:test_id31_dy_10ums_dy) attributable to the $T_y$ stage's stepper motor. +These micro-stepping errors, inherent to stepper motor operation, occur 200 times per motor rotation with approximately $1\,\text{mrad}$ angular error amplitude. +Given the $T_y$ stage's lead screw pitch of $2\,mm$, these errors manifest as $10\,\mu m$ periodic oscillations with $\approx 300\,nm$ amplitude, which can indeed be seen in the open-loop measurements (Figure ref:fig:test_id31_dy_10ums_dy). + +In the vertical direction (Figure ref:fig:test_id31_dy_10ums_dz), open-loop errors likely stem from metrology measurement error due to the fact that the top interferometer points at a spherical target surface (see Figure ref:fig:test_id31_xy_map_sphere). +Under closed-loop control, positioning errors remain within specifications across all directions. + +#+name: fig:test_id31_dy_10ums +#+caption: Open-Loop (in blue) and Closed-loop (i.e. using the NASS, in red) during a $10\,\mu m/s$ scan with the $T_y$ stage. Errors in $D_y$ is shown in \subref{fig:test_id31_dy_10ums_dy}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dy_10ums_dy} $D_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dy_10ums_dy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dy_10ums_dz} $D_z$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dy_10ums_dz.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dy_10ums_ry} $R_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dy_10ums_ry.png]] +#+end_subfigure +#+end_figure + +***** Fast Scan + +System performance was evaluated at an increased scanning velocity of $100\,\mu m/s$, with results presented in Figure ref:fig:test_id31_dy_100ums. +At this velocity, the micro-stepping errors generate $10\,\text{Hz}$ vibrations, which are further amplified by micro-station resonances. +These vibrations exceed the NASS feedback controller bandwidth, resulting in limited attenuation under closed-loop control. +This limitation exemplifies why stepper motors are suboptimal for "long-stroke/short-stroke" systems requiring precise scanning performance [[cite:&dehaeze22_fastj_uhv]]. + +Two potential solutions exist for improving high-velocity scanning performance. +First, the $T_y$ stage's stepper motor could be replaced with a three-phase torque motor. +Alternatively, since closed-loop errors in $D_z$ and $R_y$ directions remain within specifications (Figures ref:fig:test_id31_dy_100ums_dz and ref:fig:test_id31_dy_100ums_ry), detector triggering could be based on measured $D_y$ position rather than time or $T_y$ setpoint, reducing sensitivity to $D_y$ vibrations. +For applications requiring small $D_y$ scans, the nano-hexapod can be used exclusively, though with limited stroke capability. + +#+name: fig:test_id31_dy_100ums +#+caption: Open-Loop (in blue) and Closed-loop (i.e. using the NASS, in red) during a $100\,\mu m/s$ scan with the $T_y$ stage. Errors in $D_y$ is shown in \subref{fig:test_id31_dy_100ums_dy}. +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dy_100ums_dy} $D_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dy_100ums_dy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dy_100ums_dz} $D_z$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dy_100ums_dz.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_dy_100ums_ry} $R_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_dy_100ums_ry.png]] +#+end_subfigure +#+end_figure + +**** Diffraction Tomography +<> +In diffraction tomography experiments, the micro-station executes combined motions: continuous rotation around the $R_z$ axis while performing lateral scans along $D_y$. +For this validation, the spindle maintained a constant rotational velocity of $6\,\text{deg/s}$ while the nano-hexapod executed the lateral scanning motion. +To avoid high-frequency vibrations typically induced by the stepper motor, the $T_y$ stage was not utilized, which constrained the scanning range to approximately $\pm 100\,\mu m/s$. +The system's performance was evaluated at three lateral scanning velocities: $0.1\,mm/s$, $0.5\,mm/s$, and $1\,mm/s$. Figure ref:fig:test_id31_diffraction_tomo_setpoint presents both the $D_y$ position setpoints and the corresponding measured $D_y$ positions for all tested velocities. + +#+name: fig:test_id31_diffraction_tomo_setpoint +#+caption: Dy motion for several configured velocities +#+RESULTS: +[[file:figs/test_id31_diffraction_tomo_setpoint.png]] + +The positioning errors measured along $D_y$, $D_z$, and $R_y$ directions are displayed in Figure ref:fig:test_id31_diffraction_tomo. +The system maintained positioning errors within specifications for both $D_z$ and $R_y$ (Figures ref:fig:test_id31_diffraction_tomo_dz and ref:fig:test_id31_diffraction_tomo_ry). +However, lateral positioning errors exceeded specifications during acceleration and deceleration phases (Figure ref:fig:test_id31_diffraction_tomo_dy). +Since these large errors occurred only during $\approx 20\,ms$ intervals, the issue could be addressed by implementing a corresponding delay in detector integration. +Alternatively, developing a feedforward controller could improve lateral positioning accuracy during these transient phases. + +#+name: fig:test_id31_diffraction_tomo +#+caption: Diffraction tomography scans (combined $R_z$ and $D_y$ motions) at several $D_y$ velocities ($R_z$ rotational velocity is $6\,\text{deg/s}$). +#+attr_latex: :options [htbp] +#+begin_figure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_diffraction_tomo_dy} $D_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_diffraction_tomo_dy.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_diffraction_tomo_dz} $D_z$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_diffraction_tomo_dz.png]] +#+end_subfigure +#+attr_latex: :caption \subcaption{\label{fig:test_id31_diffraction_tomo_ry} $R_y$} +#+attr_latex: :options {0.32\textwidth} +#+begin_subfigure +#+attr_latex: :scale 1 +[[file:figs/test_id31_diffraction_tomo_ry.png]] +#+end_subfigure +#+end_figure + +**** Conclusion +<> + +A comprehensive series of experimental validations was conducted to evaluate the NASS performance across a wide range of typical scientific experiments. +The system demonstrated robust performance in most scenarios, with positioning errors generally remaining within specified tolerances (30 nm RMS in $D_y$, 15 nm RMS in $D_z$, and 250 nrad RMS in $R_y$). + +For tomography experiments, the NASS successfully maintained positioning accuracy at rotational velocities up to $180\,\text{deg/s}$ with light payloads, though performance degraded somewhat with heavier masses. +The HAC-LAC control architecture proved particularly effective, with the decentralized IFF providing damping of nano-hexapod suspension modes while the high authority controller addressed low-frequency disturbances. + +Vertical scanning capabilities were validated in both step-by-step and continuous motion modes. +The system successfully resolved 10 nm steps with 50 ms detector integration time, while maintaining positioning accuracy during continuous scans at speeds up to $100\,\mu m/s$. + +For lateral scanning, the system performed well at moderate speeds ($10\,\mu m/s$) but showed limitations at higher velocities ($100\,\mu m/s$) due to stepper motor-induced vibrations in the $T_y$ stage. + +The most challenging test case - diffraction tomography combining rotation and lateral scanning - demonstrated the system's ability to maintain vertical and angular stability while highlighting some limitations in lateral positioning during rapid accelerations. +These limitations could potentially be addressed through feedforward control or alternative detector triggering strategies. + +Overall, the experimental results validate the effectiveness of the developed control architecture and demonstrate that the NASS meets most design specifications across a wide range of operating conditions (summarized in Table ref:tab:test_id31_experiments_results_summary). +The identified limitations, primarily related to high-speed lateral scanning and heavy payload handling, provide clear directions for future improvements. + +#+name: tab:test_id31_experiments_results_summary +#+caption: Summary of the experimental results performed with the NASS on ID31. Open-loop errors are indicated at the left of the arrows. Closed-loop errors that are out of specifications are indicated by bold number. +#+attr_latex: :environment tabularx :width \linewidth :align Xccc +#+attr_latex: :center t :booktabs t +| *Experiments* | $\bm{D_y}$ *[nmRMS]* | $\bm{D_z}$ *[nmRMS]* | $\bm{R_y}$ *[nradRMS]* | +|---------------------------------------------------------+-----------------------------+---------------------------+-----------------------------| +| Tomography ($6\,\text{deg/s}$) | $142 \Rightarrow 15$ | $32 \Rightarrow 5$ | $464 \Rightarrow 56$ | +| Tomography ($6\,\text{deg/s}$, 13kg) | $149 \Rightarrow 25$ | $26 \Rightarrow 6$ | $471 \Rightarrow 55$ | +| Tomography ($6\,\text{deg/s}$, 26kg) | $202 \Rightarrow 25$ | $36 \Rightarrow 7$ | $1737 \Rightarrow 104$ | +| Tomography ($6\,\text{deg/s}$, 39kg) | $297 \Rightarrow \bm{53}$ | $38 \Rightarrow 9$ | $1737 \Rightarrow 170$ | +|---------------------------------------------------------+-----------------------------+---------------------------+-----------------------------| +| Tomography ($180\,\text{deg/s}$) | $143 \Rightarrow \bm{38}$ | $24 \Rightarrow 11$ | $252 \Rightarrow 130$ | +| Tomography ($180\,\text{deg/s}$, custom HAC) | $143 \Rightarrow 29$ | $24 \Rightarrow 5$ | $252 \Rightarrow 142$ | +|---------------------------------------------------------+-----------------------------+---------------------------+-----------------------------| +| Reflectivity ($100\,\mu\text{rad}/s$) | $28$ | $6$ | $118$ | +|---------------------------------------------------------+-----------------------------+---------------------------+-----------------------------| +| $D_z$ scan ($10\,\mu m/s$) | $25$ | $5$ | $108$ | +| $D_z$ scan ($100\,\mu m/s$) | $\bm{35}$ | $9$ | $132$ | +|---------------------------------------------------------+-----------------------------+---------------------------+-----------------------------| +| Lateral Scan ($10\,\mu m/s$) | $585 \Rightarrow 21$ | $155 \Rightarrow 10$ | $6300 \Rightarrow 60$ | +| Lateral Scan ($100\,\mu m/s$) | $1063 \Rightarrow \bm{732}$ | $167 \Rightarrow \bm{20}$ | $6445 \Rightarrow \bm{356}$ | +|---------------------------------------------------------+-----------------------------+---------------------------+-----------------------------| +| Diffraction tomography ($6\,\text{deg/s}$, $0.1\,mm/s$) | $\bm{36}$ | $7$ | $113$ | +| Diffraction tomography ($6\,\text{deg/s}$, $0.5\,mm/s$) | $29$ | $8$ | $81$ | +| Diffraction tomography ($6\,\text{deg/s}$, $1\,mm/s$) | $\bm{53}$ | $10$ | $135$ | +|---------------------------------------------------------+-----------------------------+---------------------------+-----------------------------| +| *Specifications* | $30$ | $15$ | $250$ | + +*** Conclusion +:PROPERTIES: +:UNNUMBERED: t +:END: +<> + +This chapter presented a comprehensive experimental validation of the Nano Active Stabilization System (NASS) on the ID31 beamline, demonstrating its capability to maintain precise sample positioning during various experimental scenarios. +The implementation and testing followed a systematic approach, beginning with the development of a short-stroke metrology system to measure the sample's position, followed by the successful implementation of a HAC-LAC control architecture, and concluding in extensive performance validation across diverse experimental conditions. + +The short-stroke metrology system, while designed as an temporary solution, proved effective in providing high bandwidth and low noise 5-DoF position measurements. +The careful alignment of the fibered interferometers targeting two reference spheres ensured reliable measurements throughout the testing campaign. + +The implementation of the control architecture validated the theoretical framework developed earlier in the project. +The decentralized Integral Force Feedback (IFF) controller successfully provided robust damping of suspension modes across all payload conditions (0-39 kg), reducing peak amplitudes by approximately a factor of 10. +The High Authority Controller (HAC) effectively managed low-frequency disturbances, though its performance showed some dependency on payload mass, particularly for lateral motion control. + +The experimental validation encompassed a wide range of scientific scenarios. +The system demonstrated remarkable performance in most conditions, meeting the stringent positioning requirements (30 nm RMS in $D_y$, 15 nm RMS in $D_z$, and 250 nrad RMS in $R_y$) for the majority of test cases. +Some limitations were identified, particularly in handling heavy payloads during rapid motions and in managing high-speed lateral scanning with the existing stepper motor $T_y$ stage. + +The successful validation of the NASS demonstrates that, once an accurate online metrology system is developed, it will be ready for integration into actual beamline operations. +The system's ability to maintain precise sample positioning across a wide range of experimental conditions, combined with its robust performance and adaptive capabilities, suggests it will significantly enhance the quality and efficiency of X-ray experiments at ID31. +Moreover, the systematic approach to system development and validation, along with the detailed understanding of performance limitations, provides valuable insights for future improvements and potential applications in similar high-precision positioning systems. ** Experimental Validation - Conclusion +:PROPERTIES: +:UNNUMBERED: notoc +:END: + * Conclusion and Future Work ** Alternative Architecture @@ -1186,14 +7619,6 @@ SCHEDULED: <2024-04-15 Mon> #+latex: \appendix * Mathematical Tools for Mechatronics -** Feedback Control - - -** Dynamical Noise Budgeting -*** Power Spectral Density - -*** Cumulative Amplitude Spectrum - * Stewart Platform - Kinematics * Bibliography :ignore: #+latex: \printbibliography[heading=bibintoc,title={Bibliography}] @@ -1224,4 +7649,70 @@ SCHEDULED: <2024-04-15 Mon> * Footnotes -[fn:1]this is a footnote with citation [[cite:&dehaeze21_mechat_approac_devel_nano_activ_stabil_system]]. +[fn:uniaxial_3]DLPVA-100-B from Femto with a voltage input noise is $2.4\,nV/\sqrt{\text{Hz}}$ +[fn:uniaxial_2]Mark Product L-22D geophones are used with a sensitivity of $88\,\frac{V}{m/s}$ and a natural frequency of $\approx 2\,\text{Hz}$ +[fn:uniaxial_1]Mark Product L4-C geophones are used with a sensitivity of $171\,\frac{V}{m/s}$ and a natural frequency of $\approx 1\,\text{Hz}$ + +[fn:modal_5]As this matrix is in general non-square, the Moore–Penrose inverse can be used instead. +[fn:modal_4]NVGate software from OROS company. +[fn:modal_3]OROS OR36. 24bits signal-delta ADC. +[fn:modal_2]Kistler 9722A2000. Sensitivity of $2.3\,mV/N$ and measurement range of $2\,kN$ +[fn:modal_1]PCB 356B18. Sensitivity is $1\,V/g$, measurement range is $\pm 5\,g$ and bandwidth is $0.5$ to $5\,\text{kHz}$. + +[fn:ustation_12]It was probably caused by rust of the linear guides along its stroke. +[fn:ustation_11]A 3-Axis L4C geophone manufactured Sercel was used. +[fn:ustation_10]Laser source is manufactured by Agilent (5519b). +[fn:ustation_9]The special optics (straightness interferometer and reflector) are manufactured by Agilent (10774A). +[fn:ustation_8]C8 capacitive sensors and CPL290 capacitive driver electronics from Lion Precision. +[fn:ustation_7]The Spindle Error Analyzer is made by Lion Precision. +[fn:ustation_6]The tools presented here are largely taken from [[cite:&taghirad13_paral]]. +[fn:ustation_5]Rotations are non commutative in 3D. +[fn:ustation_4]Ball cage (N501) and guide bush (N550) from Mahr are used. +[fn:ustation_3]Modified Zonda Hexapod by Symetrie. +[fn:ustation_2]Made by LAB Motion Systems. +[fn:ustation_1]HCR 35 A C1, from THK. + +[fn:test_apa_13]PD200 from PiezoDrive. The gain is $20\,V/V$ +[fn:test_apa_12]The DAC used is the one included in the IO131 card sold by Speedgoat. It has an output range of $\pm 10\,V$ and 16-bits resolution +[fn:test_apa_11]Ansys\textsuperscript{\textregistered} was used +[fn:test_apa_10]The transfer function fitting was computed using the =vectfit3= routine, see [[cite:&gustavsen99_ration_approx_frequen_domain_respon]] +[fn:test_apa_9]Frequency of the sinusoidal wave is $1\,\text{Hz}$ +[fn:test_apa_8]Renishaw Vionic, resolution of $2.5\,nm$ +[fn:test_apa_7]Kistler 9722A +[fn:test_apa_6]Polytec controller 3001 with sensor heads OFV512 +[fn:test_apa_5]Note that this is not completely correct as it was shown in Section ref:ssec:test_apa_stiffness that the electrical boundaries of the piezoelectric stack impacts its stiffness and that the sensor stack is almost open-circuited while the actuator stacks are almost short-circuited. +[fn:test_apa_4]The Matlab =fminsearch= command is used to fit the plane +[fn:test_apa_3]Heidenhain MT25, specified accuracy of $\pm 0.5\,\mu m$ +[fn:test_apa_2]Millimar 1318 probe, specified linearity better than $1\,\mu m$ +[fn:test_apa_1]LCR-819 from Gwinstek, with a specified accuracy of $0.05\%$. The measured frequency is set at $1\,\text{kHz}$ + +[fn:test_joints_5]XFL212R-50N from TE Connectivity. The measurement range is $50\,N$. The specified accuracy is $1\,\%$ of the full range +[fn:test_joints_4]Resolute\texttrademark{} encoder with $1\,nm$ resolution and $\pm 40\,nm$ maximum non-linearity +[fn:test_joints_3]V-408 PIMag\textsuperscript{\textregistered} linear stage is used. Crossed rollers are used to guide the motion. +[fn:test_joints_2]The load cell is FC22 from TE Connectivity. The measurement range is $50\,N$. The specified accuracy is $1\,\%$ of the full range +[fn:test_joints_1]The alloy used is called /F16PH/, also refereed as "1.4542" + +[fn:test_struts_7] OFV-3001 controller and OFV512 sensor head from Polytec +[fn:test_struts_6] Vionic from Renishaw +[fn:test_struts_5] APA300ML from Cedrat Technologies +[fn:test_struts_4] Two fiber intereferometers were used: an IDS3010 from Attocube and a quDIS from QuTools +[fn:test_struts_3] Using Ansys\textsuperscript{\textregistered}. Flexible Joints and APA Shell are made of a stainless steel allow called /17-4 PH/. Encoder and ruler support material is aluminium. +[fn:test_struts_2] Heidenhain MT25, specified accuracy of $\pm 0.5\,\mu m$ +[fn:test_struts_1] FARO Arm Platinum 4ft, specified accuracy of $\pm 13\mu m$ + +[fn:test_nhexa_7]PCB 356B18. Sensitivity is $1\,V/g$, measurement range is $\pm 5\,g$ and bandwidth is $0.5$ to $5\,\text{kHz}$. +[fn:test_nhexa_6]"SZ8005 20 x 044" from Steinel. The spring rate is specified at $17.8\,N/mm$ +[fn:test_nhexa_5]The 450 mm x 450 mm x 60 mm Nexus B4545A from Thorlabs. +[fn:test_nhexa_4]As the accuracy of the FARO arm is $\pm 13\,\mu m$, the true straightness is probably better than the values indicated. The limitation of the instrument is here reached. +[fn:test_nhexa_3]The height dimension is better than $40\,\mu m$. The diameter fitting of 182g6 and 24g6 with the two plates is verified. +[fn:test_nhexa_2]Location of all the interface surfaces with the flexible joints were checked. The fittings (182H7 and 24H8) with the interface element were also checked. +[fn:test_nhexa_1]FARO Arm Platinum 4ft, specified accuracy of $\pm 13\mu m$ + +[fn:test_id31_8]Such scan could corresponding to a 1ms integration time (which is typically the smallest integration time) and 100nm "resolution" (equal to the vertical beam size). +[fn:test_id31_7]The highest rotational velocity of $360\,\text{deg/s}$ could not be tested due to an issue in the Spindle's controller. +[fn:test_id31_6]The roundness of the spheres is specified at $50\,nm$. +[fn:test_id31_5]The "IcePAP" [[cite:&janvier13_icepap]] which is developed at the ESRF. +[fn:test_id31_4]Note that the eccentricity of the "point of interest" with respect to the Spindle rotation axis has been tuned based on measurements. +[fn:test_id31_3]The "PEPU" [[cite:&hino18_posit_encod_proces_unit]] was used for digital protocol conversion between the interferometers and the Speedgoat. +[fn:test_id31_2]M12/F40 model from Attocube. +[fn:test_id31_1]Depending on the measuring range, gap can range from $\approx 1\,\mu m$ to $\approx 100\,\mu m$. diff --git a/phd-thesis.pdf b/phd-thesis.pdf index c3a0e74..2e16dc1 100644 Binary files a/phd-thesis.pdf and b/phd-thesis.pdf differ diff --git a/phd-thesis.tex b/phd-thesis.tex index 4ffcc44..0753319 100644 --- a/phd-thesis.tex +++ b/phd-thesis.tex @@ -1,20 +1,48 @@ -% Created 2024-04-12 Fri 09:30 +% Created 2025-02-04 Tue 18:05 % Intended LaTeX compiler: pdflatex -\documentclass[a4paper, twoside, 11pt, onecolumn, bibliography=totoc, openright, appendixprefix=true]{scrreprt} +\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt} \input{config.tex} -\newacronym{mimo}{MIMO}{Multiple-Inputs Multiple-Outputs} -\newacronym{siso}{SISO}{Single-Input Single-Output} +\newacronym{haclac}{HAC-LAC}{High Authority Control - Low Authority Control} +\newacronym{hac}{HAC}{High Authority Control} +\newacronym{lac}{LAC}{Low Authority Control} \newacronym{nass}{NASS}{Nano Active Stabilization System} -\newacronym{lti}{LTI}{Linear Time Invariant} -\newacronym{esrf}{ESRF}{European Synchrotron Radiation Facility} -\newglossaryentry{ka}{name=\ensuremath{k_a},description={{Actuator Stiffness in}}} -\newglossaryentry{phi}{name=\ensuremath{\phi},description={{A woody bush}}} +\newacronym{asd}{ASD}{Amplitude Spectral Density} +\newacronym{psd}{PSD}{Power Spectral Density} +\newacronym{cps}{CPS}{Cumulative Power Spectrum} +\newacronym{cas}{CAS}{Cumulative Amplitude Spectrum} +\newacronym{frf}{FRF}{Frequency Response Function} +\newacronym{iff}{IFF}{Integral Force Feedback} +\newacronym{rdc}{RDC}{Relative Damping Control} +\newacronym{drga}{DRGA}{Dynamical Relative Gain Array} +\newacronym{rga}{RGA}{Relative Gain Array} +\newacronym{hpf}{HPF}{high-pass filter} +\newacronym{lpf}{LPF}{low-pass filter} +\newacronym{dof}{DoF}{Degree of freedom} +\newacronym{svd}{SVD}{Singular Value Decomposition} +\newacronym{mif}{MIF}{Mode Indicator Functions} +\newacronym{dac}{DAC}{Digital to Analog Converter} +\newacronym{fem}{FEM}{Finite Element Model} +\newacronym{apa}{APA}{Amplified Piezoelectric Actuator} +\newglossaryentry{ms}{name=\ensuremath{m_s},description={{Mass of the sample}}} +\newglossaryentry{mn}{name=\ensuremath{m_n},description={{Mass of the nano-hexapod}}} +\newglossaryentry{mh}{name=\ensuremath{m_h},description={{Mass of the micro-hexapod}}} +\newglossaryentry{mt}{name=\ensuremath{m_t},description={{Mass of the micro-station stages}}} +\newglossaryentry{mg}{name=\ensuremath{m_g},description={{Mass of the granite}}} +\newglossaryentry{xf}{name=\ensuremath{x_f},description={{Floor motion}}} +\newglossaryentry{ft}{name=\ensuremath{f_t},description={{Disturbance force of the micro-station}}} +\newglossaryentry{fs}{name=\ensuremath{f_s},description={{Direct forces applied on the sample}}} +\newglossaryentry{d}{name=\ensuremath{d},description={{Measured motion between the nano-hexapod and the granite}}} +\newglossaryentry{fn}{name=\ensuremath{f_n},description={{Force sensor on the nano-hexapod}}} +\newglossaryentry{psdx}{name=\ensuremath{\Phi_{x}},description={{Power spectral density of signal $x$}}} +\newglossaryentry{asdx}{name=\ensuremath{\Gamma_{x}},description={{Amplitude spectral density of signal $x$}}} +\newglossaryentry{cpsx}{name=\ensuremath{\Phi_{x}},description={{Cumulative Power Spectrum of signal $x$}}} +\newglossaryentry{casx}{name=\ensuremath{\Gamma_{x}},description={{Cumulative Amplitude Spectrum of signal $x$}}} \input{config_extra.tex} \addbibresource{ref.bib} \addbibresource{phd-thesis.bib} \author{Dehaeze Thomas} -\date{2024-04-12} +\date{2025-02-04} \title{Mechatronic approach for the design of a Nano Active Stabilization System} \subtitle{PhD Thesis} \hypersetup{ @@ -22,7 +50,7 @@ pdftitle={Mechatronic approach for the design of a Nano Active Stabilization System}, pdfkeywords={}, pdfsubject={}, - pdfcreator={Emacs 29.3 (Org mode 9.6)}, + pdfcreator={Emacs 29.4 (Org mode 9.6)}, pdflang={English}} \usepackage{biblatex} @@ -71,152 +99,11 @@ \listoffigures \chapter{Introduction} -\section{Context of this thesis / Background and Motivation} -\begin{itemize} -\item \gls{esrf} (Figure \ref{fig:esrf_picture}) -\end{itemize} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=0.7\linewidth]{figs/esrf_picture.jpg} -\caption{\label{fig:esrf_picture}European Synchrotron Radiation Facility} -\end{figure} - -\begin{itemize} -\item ID31 and Micro Station (Figure \ref{fig:id31_microstation_picture}) -\end{itemize} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=0.49\linewidth]{figs/id31_microstation_picture.png} -\caption{\label{fig:id31_microstation_picture}Picture of the ID31 Micro-Station with annotations} -\end{figure} - -Alternative: \texttt{id31\_microstation\_cad\_view.png} (CAD view) - -\begin{itemize} -\item X-ray beam + detectors + sample stage (Figure \ref{fig:id31_beamline_schematic}) -\end{itemize} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=\linewidth]{figs/id31_beamline_schematic.png} -\caption{\label{fig:id31_beamline_schematic}ID31 Beamline Schematic. With light source, nano-focusing optics, sample stage and detector.} -\end{figure} - -\begin{itemize} -\item Few words about science made on ID31 and why nano-meter accuracy is required -\item Typical experiments (tomography, \ldots{}), various samples (up to 50kg) -\item Where to explain the goal of each stage? (e.g. micro-hexapod: static positioning, Ty and Rz: scans, \ldots{}) -\item Example of picture obtained (Figure \ref{fig:id31_tomography_result}) -\end{itemize} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=0.49\linewidth]{example-image-c.png} -\caption{\label{fig:id31_tomography_result}Image obtained on the ID31 beamline} -\end{figure} - -\begin{itemize} -\item Explain wanted positioning accuracy and why micro-station cannot have this accuracy (backlash, play, thermal expansion, \ldots{}) - -\item Speak about the metrology concept, and why it is not included in this thesis -\end{itemize} - -\section{Challenge definition} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1]{figs/nass_concept_schematic.png} -\caption{\label{fig:nass_concept_schematic}Nass Concept. 1: micro-station, 2: nano-hexapod, 3: sample, 4: 5DoF metrology} -\end{figure} - -\begin{itemize} -\item 6DoF vibration control platform on top of a complex positioning platform -\item \textbf{Goal}: Improve accuracy of 6DoF long stroke position platform -\item \textbf{Approach}: Mechatronic approach / model based / predictive -\item \textbf{Control}: Robust control approach / various payloads. -First hexapod with control bandwidth higher than the suspension modes that accepts various payloads? -\item Rotation aspect -\item Compactness? (more related to mechanical design) -\end{itemize} - -\section{Literature Review} - -\begin{figure} -\begin{subfigure}{0.49\textwidth} -\begin{center} -\includegraphics[scale=1,width=0.8\linewidth]{example-image-a.png} -\end{center} -\subcaption{Stewart platform based on voice coil actuators} -\end{subfigure} -\begin{subfigure}{0.49\textwidth} -\begin{center} -\includegraphics[scale=1,width=0.8\linewidth]{example-image-b.png} -\end{center} -\subcaption{Stewart platform based on piezoelectric actuators} -\end{subfigure} -\caption{\label{fig:stewart_platform_examples}Examples of Stewart Platforms} -\end{figure} - -\begin{itemize} -\item Hexapods -\cite{li01_simul_fault_vibrat_isolat_point} -\cite{bishop02_devel_precis_point_contr_vibrat} -\cite{hanieh03_activ_stewar} -\cite{afzali-far16_vibrat_dynam_isotr_hexap_analy_studies} -\cite{naves20_desig} -\url{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org} -\item Positioning stations -\item Mechatronic approach? -\cite{rankers98_machin} -\cite{monkhorst04_dynam_error_budget} -\cite{jabben07_mechat} -\end{itemize} - -\section{Outline of thesis / Thesis Summary / Thesis Contributions} - -\textbf{Mechatronic Design Approach} / \textbf{Model Based Design}: -\begin{itemize} -\item \cite{monkhorst04_dynam_error_budget} high costs of the design process: the designed system must be \textbf{first time right}. -When the system is finally build, its performance level should satisfy the specifications. -No significant changes are allowed in the post design phase. -Because of this, the designer wants to be able to predict the performance of the system a-priori and gain insight in the performance limiting factors of the system. -\end{itemize} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=\linewidth]{figs/nass_mechatronics_approach.png} -\caption{\label{fig:nass_mechatronics_approach}Overview of the mechatronic approach used for the Nano-Active-Stabilization-System} -\end{figure} - -\textbf{Goals}: -\begin{itemize} -\item Design \gls{nass} such that it is easy to control (and maintain). -Have good performances by design and not by complex control strategies. -\end{itemize} - - -\textbf{Models}: -\begin{itemize} -\item Uniaxial Model: -\begin{itemize} -\item Effect of limited support compliance -\item Effect of change of payload -\end{itemize} -\item Rotating Model -\begin{itemize} -\item Gyroscopic effects -\end{itemize} -\item Multi Body Model -\item Finite Element Models -\end{itemize} \chapter{Conceptual Design Development} \minitoc -\paragraph{Abstract} - +\subsection*{Abstract} \begin{figure}[htbp] \centering \includegraphics[scale=1,width=\linewidth]{figs/chapter1_overview.png} @@ -224,322 +111,3578 @@ Have good performances by design and not by complex control strategies. \end{figure} \section{Uni-axial Model} +In this report, a uniaxial model of the \acrfull{nass} is developed and used to obtain a first idea of the challenges involved in this complex system. +Note that in this study, only the vertical direction is considered (which is the most stiff), but other directions were considered as well, yielding to similar conclusions. +The model is schematically shown in Figure \ref{fig:uniaxial_overview_model_sections} where the colors represent the parts studied in different sections. -\begin{itemize} -\item Explain what we want to capture with this model -\item Schematic of the uniaxial model (with X-ray) -\item Identification of disturbances (ground motion, stage vibrations) -\item Optimal nano-hexapod stiffness/actuator: Voice coil VS Piezo (conclusion?) -\item Control architecture (IFF, DVF, \ldots{})? -\item Conclusion -\end{itemize} +To have a relevant model, the micro-station dynamics is first identified and its model is tuned to match the measurements (Section \ref{sec:uniaxial_micro_station_model}). +Then, a model of the nano-hexapod is added on top of the micro-station. +With the added sample and sensors, this gives a uniaxial dynamical model of the \acrshort{nass} that will be used for further analysis (Section \ref{sec:uniaxial_nano_station_model}). + +The disturbances affecting position stability are identified experimentally (Section \ref{sec:uniaxial_disturbances}) and included in the model for dynamical noise budgeting (Section \ref{sec:uniaxial_noise_budgeting}). +In all the following analysis, three nano-hexapod stiffnesses are considered to better understand the trade-offs and to find the most adequate nano-hexapod design. +Three sample masses are also considered to verify the robustness of the applied control strategies with respect to a change of sample. + +To improve the position stability of the sample, an \acrfull{haclac} strategy is applied. +It consists of first actively damping the plant (the \acrshort{lac} part), and then applying a position control on the damped plant (the \acrshort{hac} part). + +Three active damping techniques are studied (Section \ref{sec:uniaxial_active_damping}) which are used to both reduce the effect of disturbances and make the system easier to control afterwards. +Once the system is well damped, a feedback position controller is applied and the obtained performance is analyzed (Section \ref{sec:uniaxial_position_control}). + +Two key effects that may limit that positioning performances are then considered: the limited micro-station compliance (Section \ref{sec:uniaxial_support_compliance}) and the presence of dynamics between the nano-hexapod and the sample's point of interest (Section \ref{sec:uniaxial_payload_dynamics}). \begin{figure}[htbp] \centering -\includegraphics[scale=1]{figs/mass_spring_damper_nass.png} -\caption{\label{fig:mass_spring_damper_nass}3-DoF uniaxial mass-spring-damper model of the NASS} +\includegraphics[scale=1]{figs/uniaxial_overview_model_sections.png} +\caption{\label{fig:uniaxial_overview_model_sections}Uniaxial Micro-Station model in blue (Section \ref{sec:uniaxial_micro_station_model}), Nano-Hexapod models in red (Section \ref{sec:uniaxial_nano_station_model}), Disturbances in yellow (Section \ref{sec:uniaxial_disturbances}), Active Damping in green (Section \ref{sec:uniaxial_active_damping}), Position control in purple (Section \ref{sec:uniaxial_position_control}) and Sample dynamics in cyan (Section \ref{sec:uniaxial_payload_dynamics})} \end{figure} \subsection{Micro Station Model} -\subsection{Nano Hexapod Model} -\subsection{Disturbance Identification} -\subsection{Open Loop Dynamic Noise Budgeting} +\label{sec:uniaxial_micro_station_model} +In this section, a uniaxial model of the micro-station is tuned to match measurements made on the micro-station. +The measurement setup is shown in Figure \ref{fig:uniaxial_ustation_first_meas_dynamics} where several geophones\footnote{Mark Product L4-C geophones are used with a sensitivity of \(171\,\frac{V}{m/s}\) and a natural frequency of \(\approx 1\,\text{Hz}\)} are fixed to the micro-station and an instrumented hammer is used to inject forces on different stages of the micro-station. +From the measured frequency response functions (FRF), the model can be tuned to approximate the uniaxial dynamics of the micro-station. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/uniaxial_ustation_first_meas_dynamics.jpg} +\caption{\label{fig:uniaxial_ustation_first_meas_dynamics}Experimental setup used for the first dynamical measurements on the Micro-Station. Geophones are fixed to different stages of the micro-station.} +\end{figure} +\subsection{Measured dynamics} + +The measurement setup is schematically shown in Figure \ref{fig:uniaxial_ustation_meas_dynamics_schematic} where two vertical hammer hits are performed, one on the Granite (force \(F_{g}\)) and the other on the micro-hexapod's top platform (force \(F_{h}\)). +The vertical inertial motion of the granite \(x_{g}\) and the top platform of the micro-hexapod \(x_{h}\) are measured using geophones. +Three frequency response functions were computed: one from \(F_{h}\) to \(x_{h}\) (i.e., the compliance of the micro-station), one from \(F_{g}\) to \(x_{h}\) (or from \(F_{h}\) to \(x_{g}\)) and one from \(F_{g}\) to \(x_{g}\). + +Due to the poor coherence at low frequencies, these frequency response functions will only be shown between 20 and 200Hz (solid lines in Figure \ref{fig:uniaxial_comp_frf_meas_model}). + +\begin{figure}[htbp] +\begin{subfigure}{0.69\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_ustation_meas_dynamics_schematic.png} +\end{center} +\subcaption{\label{fig:uniaxial_ustation_meas_dynamics_schematic}Measurement setup - Schematic} +\end{subfigure} +\begin{subfigure}{0.29\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_model_micro_station.png} +\end{center} +\subcaption{\label{fig:uniaxial_model_micro_station}Uniaxial model of the micro-station} +\end{subfigure} +\caption{\label{fig:micro_station_uniaxial_model}Schematic of the Micro-Station measurement setup and uniaxial model.} +\end{figure} + +\subsection{Uniaxial Model} +The uniaxial model of the micro-station is shown in Figure \ref{fig:uniaxial_model_micro_station}. +It consists of a mass spring damper system with three degrees of freedom. +A mass-spring-damper system represents the granite (with mass \(m_g\), stiffness \(k_g\) and damping \(c_g\)). +Another mass-spring-damper system represents the different micro-station stages (the \(T_y\) stage, the \(R_y\) stage and the \(R_z\) stage) with mass \(m_t\), damping \(c_t\) and stiffness \(k_t\). +Finally, a third mass-spring-damper system represents the micro-hexapod with mass \(m_h\), damping \(c_h\) and stiffness \(k_h\). + +The masses of the different stages are estimated from the 3D model, while the stiffnesses are from the data-sheet of the manufacturers. +The damping coefficients were tuned to match the damping identified from the measurements. +The parameters obtained are summarized in Table \ref{tab:uniaxial_ustation_parameters}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.9\linewidth}{lXXX} +\toprule +\textbf{Stage} & \textbf{Mass} & \textbf{Stiffness} & \textbf{Damping}\\ +\midrule +Micro-Hexapod & \(m_h = 15\,\text{kg}\) & \(k_h = 61\,N/\mu m\) & \(c_h = 3\,\frac{kN}{m/s}\)\\ +\(T_y\), \(R_y\), \(R_z\) & \(m_t = 1200\,\text{kg}\) & \(k_t = 520\,N/\mu m\) & \(c_t = 80\,\frac{kN}{m/s}\)\\ +Granite & \(m_g = 2500\,\text{kg}\) & \(k_g = 950\,N/\mu m\) & \(c_g = 250\,\frac{kN}{m/s}\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:uniaxial_ustation_parameters}Physical parameters used for the micro-station uniaxial model} + +\end{table} + +Two disturbances are considered which are shown in red: the floor motion \(x_f\) and the stage vibrations represented by \(f_t\). +The hammer impacts \(F_{h}, F_{g}\) are shown in blue, whereas the measured inertial motions \(x_{h}, x_{g}\) are shown in black. + +\subsection{Comparison of model and measurements} +The transfer functions from the forces injected by the hammers to the measured inertial motion of the micro-hexapod and granite are extracted from the uniaxial model and compared to the measurements in Figure \ref{fig:uniaxial_comp_frf_meas_model}. + +Because the uniaxial model has three degrees of freedom, only three modes with frequencies at \(70\,\text{Hz}\), \(140\,\text{Hz}\) and \(320\,\text{Hz}\) are modeled. +Many more modes can be observed in the measurements (see Figure \ref{fig:uniaxial_comp_frf_meas_model}). +However, the goal is not to have a perfect match with the measurement (this would require a much more complex model), but to have a first approximation. +More accurate models will be used later on. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/uniaxial_comp_frf_meas_model.png} +\caption{\label{fig:uniaxial_comp_frf_meas_model}Comparison of the measured FRF and identified ones from the uniaxial model} +\end{figure} + +\subsection{Nano-Hexapod Model} +\label{sec:uniaxial_nano_station_model} +A model of the nano-hexapod and sample is now added on top of the uniaxial model of the micro-station (Figure \ref{fig:uniaxial_model_micro_station_nass}). +Disturbances (shown in red) are \gls{fs} the direct forces applied to the sample (for example cable forces), \gls{ft} representing the vibrations induced when scanning the different stages and \gls{xf} the floor motion. +The control signal is the force applied by the nano-hexapod \(f\) and the measurement is the relative motion between the sample and the granite \(d\). +The sample is here considered as a rigid body and rigidly fixed to the nano-hexapod. +The effect of resonances between the sample's point of interest and the nano-hexapod actuator will be considered in Section \ref{sec:uniaxial_payload_dynamics}. + +\begin{figure}[htbp] +\begin{subfigure}{0.39\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_model_micro_station_nass.png} +\end{center} +\subcaption{\label{fig:uniaxial_model_micro_station_nass}Uniaxial mass-spring-damper model of the NASS} +\end{subfigure} +\begin{subfigure}{0.59\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_plant_first_params.png} +\end{center} +\subcaption{\label{fig:uniaxial_plant_first_params}Bode Plot of the transfer function from actuator forces $f$ to measured displacement $d$ by the metrology} +\end{subfigure} +\caption{\label{fig:uniaxial_model_micro_station_nass_with_tf}Uniaxial model of the NASS \subref{fig:uniaxial_model_micro_station_nass} with the micro-station shown in black, the nano-hexapod represented in blue and the sample represented in green. Disturbances are shown in red. Extracted transfer function from \(f\) to \(d\) \subref{fig:uniaxial_plant_first_params}.} +\end{figure} +\subsection{Nano-Hexapod Parameters} +The nano-hexapod is represented by a mass spring damper system (shown in blue in Figure \ref{fig:uniaxial_model_micro_station_nass}). +Its mass \gls{mn} is set to \(15\,\text{kg}\) while its stiffness \(k_n\) can vary depending on the chosen architecture/technology. +The sample is represented by a mass \gls{ms} that can vary from \(1\,\text{kg}\) up to \(50\,\text{kg}\). + +As a first example, the nano-hexapod stiffness of is set at \(k_n = 10\,N/\mu m\) and the sample mass is chosen at \(m_s = 10\,\text{kg}\). + +\subsection{Obtained Dynamic Response} +The sensitivity to disturbances (i.e., the transfer functions from \(x_f,f_t,f_s\) to \(d\)) can be extracted from the uniaxial model of Figure \ref{fig:uniaxial_model_micro_station_nass} and are shown in Figure \ref{fig:uniaxial_sensitivity_dist_first_params}. +The \emph{plant} (i.e., the transfer function from actuator force \(f\) to measured displacement \(d\)) is shown in Figure \ref{fig:uniaxial_plant_first_params}. + +For further analysis, 9 ``configurations'' of the uniaxial NASS model of Figure \ref{fig:uniaxial_model_micro_station_nass} will be considered: three nano-hexapod stiffnesses (\(k_n = 0.01\,N/\mu m\), \(k_n = 1\,N/\mu m\) and \(k_n = 100\,N/\mu m\)) combined with three sample's masses (\(m_s = 1\,kg\), \(m_s = 25\,kg\) and \(m_s = 50\,kg\)). + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_first_params_fs.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_first_params_fs}Direct forces} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_first_params_ft.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_first_params_ft}$\mu\text{-station}$ disturbances} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_first_params_xf.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_first_params_xf}Floor motion} +\end{subfigure} +\caption{\label{fig:uniaxial_sensitivity_dist_first_params}Sensitivity of the relative motion \(d\) to disturbances: \(f_s\) the direct forces applied on the sample \subref{fig:uniaxial_sensitivity_dist_first_params_fs}, \(f_t\) disturbances from the micro-station stages \subref{fig:uniaxial_sensitivity_dist_first_params_ft} and \(x_f\) the floor motion \subref{fig:uniaxial_sensitivity_dist_first_params_fs}} +\end{figure} + +\subsection{Disturbance Identification} +\label{sec:uniaxial_disturbances} +To quantify disturbances (red signals in Figure \ref{fig:uniaxial_model_micro_station_nass}), three geophones\footnote{Mark Product L-22D geophones are used with a sensitivity of \(88\,\frac{V}{m/s}\) and a natural frequency of \(\approx 2\,\text{Hz}\)} are used. +One is located on the floor, another one on the granite, and the last one on the micro-hexapod's top platform (see Figure \ref{fig:uniaxial_ustation_meas_disturbances}). +The geophone located on the floor was used to measure the floor motion \(x_f\) while the other two geophones were used to measure vibrations introduced by scanning of the \(T_y\) stage and \(R_z\) stage (see Figure \ref{fig:uniaxial_ustation_dynamical_id_setup}). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_ustation_meas_disturbances.png} +\end{center} +\subcaption{\label{fig:uniaxial_ustation_meas_disturbances}Disturbance measurement setup - Schematic} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_ustation_dynamical_id_setup.jpg} +\end{center} +\subcaption{\label{fig:uniaxial_ustation_dynamical_id_setup}Two geophones are used to measure vibrations induced by $T_y$ and $R_z$ scans} +\end{subfigure} +\caption{\label{fig:uniaxial_ustation_meas_disturbances_setup}Identification of the disturbances coming from the micro-station. The measurement schematic is shown in \subref{fig:uniaxial_ustation_meas_disturbances}. A picture of the setup is shown in \subref{fig:uniaxial_ustation_dynamical_id_setup}} +\end{figure} +\subsection{Ground Motion} +To acquire the geophone signals, the measurement setup shown in Figure \ref{fig:uniaxial_geophone_meas_chain} is used. +The voltage generated by the geophone is amplified using a low noise voltage amplifier\footnote{DLPVA-100-B from Femto with a voltage input noise is \(2.4\,nV/\sqrt{\text{Hz}}\)} with a gain of 60dB before going to the ADC. +This is done to improve the signal-to-noise ratio. + +To reconstruct the displacement \(x_f\) from the measured voltage \(\hat{V}_{x_f}\), the transfer function of the measurement chain from \(x_f\) to \(\hat{V}_{x_f}\) needs to be estimated. +First, the transfer function \(G_{geo}\) from the floor motion \(x_{f}\) to the generated geophone voltage \(V_{x_f}\) is shown in \eqref{eq:uniaxial_geophone_tf}, with \(T_g = 88\,\frac{V}{m/s}\) the sensitivity of the geophone, \(f_0 = \frac{\omega_0}{2\pi} = 2\,\text{Hz}\) its resonance frequency and \(\xi = 0.7\) its damping ratio. +This model of the geophone was taken from \cite{collette12_review}. +The gain of the voltage amplifier is \(V^{\prime}_{x_f}/V_{x_f} = g_0 = 1000\). + +\begin{equation}\label{eq:uniaxial_geophone_tf} +G_{geo}(s) = \frac{V_{x_f}}{x_f}(s) = T_{g} \cdot s \cdot \frac{s^2}{s^2 + 2 \xi \omega_0 s + \omega_0^2} \quad \left[ V/m \right] +\end{equation} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/uniaxial_geophone_meas_chain.png} +\caption{\label{fig:uniaxial_geophone_meas_chain}Measurement setup for one geophone. The inertial displacement \(x\) is converted to a voltage \(V\) by the geophone. This voltage is amplified by a factor \(g_0 = 60\,dB\) using a low-noise voltage amplifier. It is then converted to a digital value \(\hat{V}_x\) using a 16bit ADC.} +\end{figure} + +The amplitude spectral density of the floor motion \(\Gamma_{x_f}\) can be computed from the amplitude spectral density of measured voltage \(\Gamma_{\hat{V}_{x_f}}\) using \eqref{eq:uniaxial_asd_floor_motion}. +The estimated amplitude spectral density \(\Gamma_{x_f}\) of the floor motion \(x_f\) is shown in Figure \ref{fig:uniaxial_asd_floor_motion_id31}. + +\begin{equation}\label{eq:uniaxial_asd_floor_motion} +\Gamma_{x_f}(\omega) = \frac{\Gamma_{\hat{V}_{x_f}}(\omega)}{|G_{geo}(j\omega)| \cdot g_0} \quad \left[ m/\sqrt{\text{Hz}} \right] +\end{equation} + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_asd_floor_motion_id31.png} +\end{center} +\subcaption{\label{fig:uniaxial_asd_floor_motion_id31}Estimated ASD of $x_f$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_asd_disturbance_force.png} +\end{center} +\subcaption{\label{fig:uniaxial_asd_disturbance_force}Estimated ASD of $f_t$} +\end{subfigure} +\caption{\label{fig:uniaxial_asd_disturbance}Estimated amplitude spectral density of the floor motion \(x_f\) \subref{fig:uniaxial_asd_floor_motion_id31} and of the stage disturbances \(f_t\) \subref{fig:uniaxial_asd_disturbance_force}} +\end{figure} + +\subsection{Stage Vibration} +To estimate the vibrations induced by scanning the micro-station stages, two geophones are used, as shown in Figure \ref{fig:uniaxial_ustation_dynamical_id_setup}. +The vertical relative velocity between the top platform of the micro hexapod and the granite is estimated in two cases: without moving the micro-station stages, and then during a Spindle rotation at 6rpm. +The vibrations induced by the \(T_y\) stage are not considered here because they have less amplitude than the vibrations induced by the \(R_z\) stage and because the \(T_y\) stage can be scanned at lower velocities if the induced vibrations are found to be an issue. + +The amplitude spectral density of the relative motion with and without the Spindle rotation are compared in Figure \ref{fig:uniaxial_asd_vibration_spindle_rotation}. +It is shown that the spindle rotation increases the vibrations above \(20\,\text{Hz}\). +The sharp peak observed at \(24\,\text{Hz}\) is believed to be induced by electromagnetic interference between the currents in the spindle motor phases and the geophone cable because this peak is not observed when rotating the spindle ``by hand''. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/uniaxial_asd_vibration_spindle_rotation.png} +\caption{\label{fig:uniaxial_asd_vibration_spindle_rotation}Amplitude Spectral Density \(\Gamma_{R_z}\) of the relative motion measured between the granite and the micro-hexapod's top platform during Spindle rotating} +\end{figure} + +To compute the equivalent disturbance force \(f_t\) (Figure \ref{fig:uniaxial_model_micro_station}) that induces such motion, the transfer function \(G_{f_t}(s)\) from \(f_t\) to the relative motion between the micro-hexapod's top platform and the granite \((x_{h} - x_{g})\) is extracted from the model. +The amplitude spectral density \(\Gamma_{f_{t}}\) of the disturbance force is them computed from \eqref{eq:uniaxial_ft_asd} and is shown in Figure \ref{fig:uniaxial_asd_disturbance_force}. + +\begin{equation}\label{eq:uniaxial_ft_asd} +\Gamma_{f_{t}}(\omega) = \frac{\Gamma_{R_{z}}(\omega)}{|G_{f_t}(j\omega)|} +\end{equation} + +\subsection{Open-Loop Dynamic Noise Budgeting} +\label{sec:uniaxial_noise_budgeting} +Now that a model of the \acrshort{nass} has been obtained (see section \ref{sec:uniaxial_nano_station_model}) and that the disturbances have been estimated (see section \ref{sec:uniaxial_disturbances}), it is possible to perform an \emph{open-loop dynamic noise budgeting}. + +To perform such noise budgeting, the disturbances need to be modeled by their spectral densities (done in section \ref{sec:uniaxial_disturbances}). +Then, the transfer functions from disturbances to the performance metric (here the distance \(d\)) are computed (Section \ref{ssec:uniaxial_noise_budget_sensitivity}). +Finally, these two types of information are combined to estimate the corresponding spectral density of the performance metric. +This is very useful to identify what is limiting the performance of the system, or the compare the achievable performance with different system parameters (Section \ref{ssec:uniaxial_noise_budget_result}). +\subsection{Sensitivity to disturbances} +\label{ssec:uniaxial_noise_budget_sensitivity} +From the uniaxial model of the \acrshort{nass} (Figure \ref{fig:uniaxial_model_micro_station_nass}), the transfer function from the disturbances (\(f_s\), \(x_f\) and \(f_t\)) to the displacement \(d\) are computed. + +This is done for two extreme sample masses \(m_s = 1\,\text{kg}\) and \(m_s = 50\,\text{kg}\) and three nano-hexapod stiffnesses: \begin{itemize} -\item List all disturbances with their spectral densities -\item Show how they have been measured -\item Say that repeatable errors can be calibrated (show measurement of Hans-Peter?) +\item \(k_n = 0.01\,N/\mu m\) that represents a voice coil actuator with soft flexible guiding +\item \(k_n = 1\,N/\mu m\) that represents a voice coil actuator with a stiff flexible guiding or a mechanically amplified piezoelectric actuator +\item \(k_n = 100\,N/\mu m\) that represents a stiff piezoelectric stack actuator +\end{itemize} + +The obtained sensitivity to disturbances for the three nano-hexapod stiffnesses are shown in Figure \ref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses} for the sample mass \(m_s = 1\,\text{kg}\) (the same conclusions can be drawn with \(m_s = 50\,\text{kg}\)): +\begin{itemize} +\item The soft nano-hexapod is more sensitive to forces applied on the sample (cable forces for instance), which is expected due to its lower stiffness (Figure \ref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs}) +\item Between the suspension mode of the nano-hexapod (here at 5Hz for the soft nano-hexapod) and the first mode of the micro-station (here at 70Hz), the disturbances induced by the stage vibrations are filtered out (Figure \ref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft}) +\item Above the suspension mode of the nano-hexapod, the sample's inertial motion is unaffected by the floor motion; therefore, the sensitivity to floor motion is close to \(1\) (Figure \ref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_xf}) \end{itemize} \begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=0.4\linewidth]{measurement_microstation_vibration_picture.jpg} -\caption{\label{fig:measurement_microstation_vibration_picture}Setup used to measure the micro-station vibrations during operation} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs}Direct forces} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft}$\mu\text{-station}$ disturbances} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_xf.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_xf}Floor motion} +\end{subfigure} +\caption{\label{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses}Sensitivity of \(d\) to disturbances for three different nano-hexpod stiffnesses. \(f_s\) the direct forces applied on the sample \subref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs}, \(f_t\) disturbances from the micro-station stages \subref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft} and \(x_f\) the floor motion \subref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_fs}} \end{figure} +\subsection{Open-Loop Dynamic Noise Budgeting} +\label{ssec:uniaxial_noise_budget_result} +Now, the amplitude spectral densities of the disturbances are considered to estimate the residual motion \(d\) for each nano-hexapod and sample configuration. +The Cumulative Amplitude Spectrum of the relative motion \(d\) due to both floor motion \(x_f\) and stage vibrations \(f_t\) are shown in Figure \ref{fig:uniaxial_cas_d_disturbances_stiffnesses} for the three nano-hexapod stiffnesses. +It is shown that the effect of floor motion is much less than that of stage vibrations, except for the soft nano-hexapod below \(5\,\text{Hz}\). + +The total cumulative amplitude spectrum of \(d\) for the three nano-hexapod stiffnesses and for the two samples masses are shown in Figure \ref{fig:uniaxial_cas_d_disturbances_payload_masses}. +The conclusion is that the sample mass has little effect on the cumulative amplitude spectrum of the relative motion \(d\). + \begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=0.49\linewidth]{example-image-b.png} -\caption{\label{fig:asd_ground_motion_ustation_dist}Amplitude Spectral density of the measured disturbance sources} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_cas_d_disturbances_stiffnesses.png} +\end{center} +\subcaption{\label{fig:uniaxial_cas_d_disturbances_stiffnesses}Effect of floor motion $x_f$ and stage disturbances $f_t$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_cas_d_disturbances_payload_masses.png} +\end{center} +\subcaption{\label{fig:uniaxial_cas_d_disturbances_payload_masses}Effect of $\nu\text{-hexapod}$ stiffness $k_n$ and payload mass $m_s$} +\end{subfigure} +\caption{\label{fig:uniaxial_cas_d_disturbances}Cumulative Amplitude Spectrum of the relative motion \(d\). The effect of \(x_f\) and \(f_t\) are shown in \subref{fig:uniaxial_cas_d_disturbances_stiffnesses}. The effect of sample mass for the three hexapod stiffnesses is shown in \subref{fig:uniaxial_cas_d_disturbances_payload_masses}. The control objective of having a residual error of 20 nm RMS is shown by the horizontal black dashed line.} \end{figure} +\subsection*{Conclusion} +The open-loop residual vibrations of \(d\) can be estimated from the low-frequency value of the cumulative amplitude spectrum in Figure \ref{fig:uniaxial_cas_d_disturbances_payload_masses}. +This residual vibration of \(d\) is found to be in the order of \(100\,nm\,\text{RMS}\) for the stiff nano-hexapod (\(k_n = 100\,N/\mu m\)), \(200\,nm\,\text{RMS}\) for the relatively stiff nano-hexapod (\(k_n = 1\,N/\mu m\)) and \(1\,\mu m\,\text{RMS}\) for the soft nano-hexapod (\(k_n = 0.01\,N/\mu m\)). +From this analysis, it may be concluded that the stiffer the nano-hexapod the better. + +However, what is more important is the \emph{closed-loop} residual vibration of \(d\) (i.e., while the feedback controller is used). +The goal is to obtain a closed-loop residual vibration \(\epsilon_d \approx 20\,nm\,\text{RMS}\) (represented by an horizontal dashed black line in Figure \ref{fig:uniaxial_cas_d_disturbances_payload_masses}). +The bandwidth of the feedback controller leading to a closed-loop residual vibration of \(20\,nm\,\text{RMS}\) can be estimated as the frequency at which the cumulative amplitude spectrum crosses the black dashed line in Figure \ref{fig:uniaxial_cas_d_disturbances_payload_masses}. +A closed loop bandwidth of \(\approx 10\,\text{Hz}\) is found for the soft nano-hexapod (\(k_n = 0.01\,N/\mu m\)), \(\approx 50\,\text{Hz}\) for the relatively stiff nano-hexapod (\(k_n = 1\,N/\mu m\)), and \(\approx 100\,\text{Hz}\) for the stiff nano-hexapod (\(k_n = 100\,N/\mu m\)). +Therefore, while the \emph{open-loop} vibration is the lowest for the stiff nano-hexapod, it requires the largest feedback bandwidth to meet the specifications. + +The advantage of the soft nano-hexapod can be explained by its natural isolation from the micro-station vibration above its suspension mode, as shown in Figure \ref{fig:uniaxial_sensitivity_disturbances_nano_hexapod_stiffnesses_ft}. + \subsection{Active Damping} +\label{sec:uniaxial_active_damping} +In this section, three active damping techniques are applied to the nano-hexapod (see Figure \ref{fig:uniaxial_active_damping_strategies}): Integral Force Feedback (IFF) \cite{preumont91_activ}, Relative Damping Control (RDC) \cite[Chapter 7.2]{preumont18_vibrat_contr_activ_struc_fourt_edition} and Direct Velocity Feedback (DVF) \cite{karnopp74_vibrat_contr_using_semi_activ_force_gener,serrand00_multic_feedb_contr_isolat_base_excit_vibrat,preumont02_force_feedb_versus_accel_feedb}. -Conclusion: IFF is better for this application +These damping strategies are first described (Section \ref{ssec:uniaxial_active_damping_strategies}) and are then compared in terms of achievable damping of the nano-hexapod mode (Section \ref{ssec:uniaxial_active_damping_achievable_damping}), reduction of the effect of disturbances (i.e., \(x_f\), \(f_t\) and \(f_s\)) on the displacement \(d\) (Sections \ref{ssec:uniaxial_active_damping_sensitivity_disturbances}). -\paragraph{Integral Force Feedback} +\begin{figure}[htbp] +\begin{subfigure}{0.36\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_strategies_iff.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_strategies_iff}IFF} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_strategies_rdc.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_strategies_rdc}RDC} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_strategies_dvf.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_strategies_dvf}DVF} +\end{subfigure} +\caption{\label{fig:uniaxial_active_damping_strategies}Three active damping strategies. Integral Force Feedback \subref{fig:uniaxial_active_damping_strategies_iff} using a force sensor, Relative Damping Control \subref{fig:uniaxial_active_damping_strategies_rdc} using a relative displacement sensor, and Direct Velocity Feedback \subref{fig:uniaxial_active_damping_strategies_dvf} using a geophone} +\end{figure} +\subsection{Active Damping Strategies} +\label{ssec:uniaxial_active_damping_strategies} +\paragraph{Integral Force Feedback (IFF)} +The Integral Force Feedback strategy consists of using a force sensor in series with the actuator (see Figure \ref{fig:uniaxial_active_damping_iff_schematic}) and applying an ``integral'' feedback controller \eqref{eq:uniaxial_iff_controller}. -\begin{itemize} -\item Mass spring damper model -\item Root Locus -\item Sensitivity to disturbances -\end{itemize} +\begin{equation}\label{eq:uniaxial_iff_controller} +\boxed{K_{\text{IFF}}(s) = \frac{g}{s}} +\end{equation} -\paragraph{Direct Velocity Feedback} +The mechanical equivalent of this IFF strategy is a dashpot in series with the actuator stiffness with a damping coefficient equal to the stiffness of the actuator divided by the controller gain \(k/g\) (see Figure \ref{fig:uniaxial_active_damping_iff_equiv}). -\begin{itemize} -\item Mass spring damper model -\item Root Locus -\item Sensitivity to disturbances -\end{itemize} +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_iff_schematic.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_iff_schematic}Integral Force Feedback} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_iff_equiv.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_iff_equiv}Equivalent mechanical representation} +\end{subfigure} +\caption{\label{fig:uniaxial_active_damping_iff}Integral Force Feedback \subref{fig:uniaxial_active_damping_iff_schematic} is equivalent to a damper in series with the actuator stiffness \subref{fig:uniaxial_active_damping_iff_equiv}} +\end{figure} +\paragraph{Relative Damping Control (RDC)} +For the Relative Damping Control strategy, a relative motion sensor that measures the motion of the actuator is used (see Figure \ref{fig:uniaxial_active_damping_rdc_schematic}) and a ``derivative'' feedback controller is used \eqref{eq:uniaxial_rdc_controller}. -\subsection{Position Feedback Controller} -\subsection{Effect of support compliance} +\begin{equation}\label{eq:uniaxial_rdc_controller} +\boxed{K_{\text{RDC}}(s) = - g \cdot s} +\end{equation} -\begin{itemize} -\item \textbf{goal}: make the nano-hexapod independent of the support compliance -\item Simple 2DoF model -\item Generalized to any support compliance -\item \textbf{conclusion}: frequency of nano-hexapod resonances should be lower than first suspension mode of the support -\end{itemize} +The mechanical equivalent of \acrshort{rdc} is a dashpot in parallel with the actuator with a damping coefficient equal to the controller gain \(g\) (see Figure \ref{fig:uniaxial_active_damping_rdc_equiv}). -\subsection{Effect of payload dynamics} +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_rdc_schematic.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_rdc_schematic}Relative motion control} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_rdc_equiv.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_rdc_equiv}Equivalent mechanical representation} +\end{subfigure} +\caption{\label{fig:uniaxial_active_damping_rdc}Relative Damping Control \subref{fig:uniaxial_active_damping_rdc_schematic} is equivalent to a damper in parallel with the actuator \subref{fig:uniaxial_active_damping_rdc_equiv}} +\end{figure} -\begin{itemize} -\item \textbf{goal}: be robust to a change of payload -\item Simple 2DoF model -\item Generalized to any payload dynamics -\end{itemize} +\paragraph{Direct Velocity Feedback (DVF)} +Finally, the direct velocity feedback strategy consists of using an inertial sensor (usually a geophone) that measures the ``absolute'' velocity of the body fixed on top of the actuator (see Figure \ref{fig:uniaxial_active_damping_dvf_schematic}). +This velocity is fed back to the actuator with a ``proportional'' controller \eqref{eq:uniaxial_dvf_controller}. -\subsection{Conclusion} +\begin{equation}\label{eq:uniaxial_dvf_controller} +\boxed{K_{\text{DVF}}(s) = - g} +\end{equation} -\section{Effect of rotation} +This is equivalent to a dashpot (with a damping coefficient equal to the controller gain \(g\)) between the body (on which the inertial sensor is fixed) and an inertial reference frame (see Figure \ref{fig:uniaxial_active_damping_dvf_equiv}). +This is usually referred to as ``\emph{sky hook damper}''. -Papers: -\begin{itemize} -\item \cite{dehaeze20_activ_dampin_rotat_platf_integ_force_feedb} -\item \cite{dehaeze21_activ_dampin_rotat_platf_using} -\end{itemize} +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_dvf_schematic.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_dvf_schematic}Direct velocity feedback} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_active_damping_dvf_equiv.png} +\end{center} +\subcaption{\label{fig:uniaxial_active_damping_dvf_equiv}Equivalent mechanical representation} +\end{subfigure} +\caption{\label{fig:uniaxial_active_damping_dvf}Direct velocity Feedback \subref{fig:uniaxial_active_damping_dvf_schematic} is equivalent to a ``sky hook damper'' \subref{fig:uniaxial_active_damping_dvf_equiv}} +\end{figure} -\subsection{System Description and Analysis} +\subsection{Plant Dynamics for Active Damping} +\label{ssec:uniaxial_active_damping_plants} +The plant dynamics for all three active damping techniques are shown in Figure \ref{fig:uniaxial_plant_active_damping_techniques}. +All have \emph{alternating poles and zeros} meaning that the phase does not vary by more than \(180\,\text{deg}\) which makes the design of a \emph{robust} damping controller very easy. -\begin{itemize} -\item x-y-Rz model -\item explain why this is representing the NASS -\item Equation of motion -\item Centrifugal forces, Coriolis -\end{itemize} +This alternating poles and zeros property is guaranteed for the IFF and RDC cases because the sensors are collocated with the actuator \cite[Chapter 7]{preumont18_vibrat_contr_activ_struc_fourt_edition}. +For the DVF controller, this property is not guaranteed, and may be lost if some flexibility between the nano-hexapod and the sample is considered \cite[Chapter 8.4]{preumont18_vibrat_contr_activ_struc_fourt_edition}. + +When the nano-hexapod's suspension modes are at frequencies lower than the resonances of the micro-station (blue and red curves in Figure \ref{fig:uniaxial_plant_active_damping_techniques}), the resonances of the micro-stations have little impact on the IFF and DVF transfer functions. +For the stiff nano-hexapod (yellow curves), the micro-station dynamics can be seen on the transfer functions in Figure \ref{fig:uniaxial_plant_active_damping_techniques}. +Therefore, it is expected that the micro-station dynamics might impact the achievable damping if a stiff nano-hexapod is used. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/uniaxial_plant_active_damping_techniques_iff.png} +\end{center} +\subcaption{\label{fig:uniaxial_plant_active_damping_techniques_iff}IFF} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/uniaxial_plant_active_damping_techniques_rdc.png} +\end{center} +\subcaption{\label{fig:uniaxial_plant_active_damping_techniques_rdc}RDC} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/uniaxial_plant_active_damping_techniques_dvf.png} +\end{center} +\subcaption{\label{fig:uniaxial_plant_active_damping_techniques_dvf}DVF} +\end{subfigure} +\caption{\label{fig:uniaxial_plant_active_damping_techniques}Plant dynamics for the three active damping techniques (IFF: \subref{fig:uniaxial_plant_active_damping_techniques_iff}, RDC: \subref{fig:uniaxial_plant_active_damping_techniques_rdc}, DVF: \subref{fig:uniaxial_plant_active_damping_techniques_dvf}), for three nano-hexapod stiffnesses (\(k_n = 0.01\,N/\mu m\) in blue, \(k_n = 1\,N/\mu m\) in red and \(k_n = 100\,N/\mu m\) in yellow) and three sample's masses (\(m_s = 1\,kg\): solid curves, \(m_s = 25\,kg\): dot-dashed curves, and \(m_s = 50\,kg\): dashed curves).} +\end{figure} + +\subsection{Achievable Damping and Damped Plants} +\label{ssec:uniaxial_active_damping_achievable_damping} + +To compare the added damping using the three considered active damping strategies, the root locus plot is used. +Indeed, the damping ratio \(\xi\) of a pole in the complex plane can be estimated from the angle \(\phi\) it makes with the imaginary axis \eqref{eq:uniaxial_damping_ratio_angle}. +Increasing the angle with the imaginary axis therefore means that more damping is added to the considered resonance. +This is illustrated in Figure \ref{fig:uniaxial_root_locus_damping_techniques_micro_station_mode} by the dashed black line indicating the maximum achievable damping. + +\begin{equation}\label{eq:uniaxial_damping_ratio_angle} +\xi = \sin(\phi) +\end{equation} + +The Root Locus for the three nano-hexapod stiffnesses and the three active damping techniques are shown in Figure \ref{fig:uniaxial_root_locus_damping_techniques}. +All three active damping approaches can lead to \emph{critical damping} of the nano-hexapod suspension mode (angle \(\phi\) can be increased up to 90 degrees). +There is even some damping authority on micro-station modes in the following cases: +\begin{description} +\item[{IFF with a stiff nano-hexapod (Figure \ref{fig:uniaxial_root_locus_damping_techniques_stiff})}] This can be understood from the mechanical equivalent of IFF shown in Figure \ref{fig:uniaxial_active_damping_iff_equiv} considering an high stiffness \(k\). +The micro-station top platform is connected to an inertial mass (the nano-hexapod) through a damper, which dampens the micro-station suspension suspension mode. +\item[{DVF with a stiff nano-hexapod (Figure \ref{fig:uniaxial_root_locus_damping_techniques_stiff})}] In that case, the ``sky hook damper'' (see mechanical equivalent of DVF in Figure \ref{fig:uniaxial_active_damping_dvf_equiv}) is connected to the micro-station top platform through the stiff nano-hexapod. +\item[{RDC with a soft nano-hexapod (Figure \ref{fig:uniaxial_root_locus_damping_techniques_micro_station_mode})}] At the frequency of the micro-station mode, the nano-hexapod top mass behaves as an inertial reference because the suspension mode of the soft nano-hexapod is at much lower frequency. +The micro-station and the nano-hexapod masses are connected through a large damper induced by RDC (see mechanical equivalent in Figure \ref{fig:uniaxial_active_damping_rdc_equiv}) which allows some damping of the micro-station. +\end{description} + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_root_locus_damping_techniques_soft.png} +\end{center} +\subcaption{\label{fig:uniaxial_root_locus_damping_techniques_soft}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_root_locus_damping_techniques_mid.png} +\end{center} +\subcaption{\label{fig:uniaxial_root_locus_damping_techniques_mid}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_root_locus_damping_techniques_stiff.png} +\end{center} +\subcaption{\label{fig:uniaxial_root_locus_damping_techniques_stiff}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:uniaxial_root_locus_damping_techniques}Root Loci for the three active damping techniques (IFF in blue, RDC in red and DVF in yellow). This is shown for the three nano-hexapod stiffnesses. The Root Loci are zoomed in the suspension mode of the nano-hexapod.} +\end{figure} \begin{figure}[htbp] \centering -\includegraphics[scale=1]{figs/2dof_rotating_system.png} -\caption{\label{fig:2dof_rotating_system}Mass spring damper model of an X-Y stage on top of a rotating stage} +\includegraphics[scale=1]{figs/uniaxial_root_locus_damping_techniques_micro_station_mode.png} +\caption{\label{fig:uniaxial_root_locus_damping_techniques_micro_station_mode}Root Locus for the three damping techniques applied with the soft nano-hexapod. It is shown that the RDC active damping technique has some authority on one mode of the micro-station. This mode corresponds to the suspension mode of the micro-hexapod.} +\end{figure} + +The transfer functions from the plant input \(f\) to the relative displacement \(d\) while active damping is implemented are shown in Figure \ref{fig:uniaxial_damped_plant_three_active_damping_techniques}. +All three active damping techniques yielded similar damped plants. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_damped_plant_three_active_damping_techniques_vc.png} +\end{center} +\subcaption{\label{fig:uniaxial_damped_plant_three_active_damping_techniques_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_damped_plant_three_active_damping_techniques_md.png} +\end{center} +\subcaption{\label{fig:uniaxial_damped_plant_three_active_damping_techniques_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_damped_plant_three_active_damping_techniques_pz.png} +\end{center} +\subcaption{\label{fig:uniaxial_damped_plant_three_active_damping_techniques_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:uniaxial_damped_plant_three_active_damping_techniques}Obtained damped transfer function from \(f\) to \(d\) for the three damping techniques.} +\end{figure} + +\subsection{Sensitivity to disturbances and Noise Budgeting} +\label{ssec:uniaxial_active_damping_sensitivity_disturbances} + +Reasonable gains are chosen for the three active damping strategies such that the nano-hexapod suspension mode is well damped. +The sensitivity to disturbances (direct forces \(f_s\), stage vibrations \(f_t\) and floor motion \(x_f\)) for all three active damping techniques are compared in Figure \ref{fig:uniaxial_sensitivity_dist_active_damping}. +The comparison is done with the nano-hexapod having a stiffness \(k_n = 1\,N/\mu m\). + +Several conclusions can be drawn by comparing the obtained sensitivity transfer functions: +\begin{itemize} +\item IFF degrades the sensitivity to direct forces on the sample (i.e., the compliance) below the resonance of the nano-hexapod (Figure \ref{fig:uniaxial_sensitivity_dist_active_damping_fs}). +This is a well-known effect of using IFF for vibration isolation \cite{collette15_sensor_fusion_method_high_perfor}. +\item RDC degrades the sensitivity to stage vibrations around the nano-hexapod's resonance as compared to the other two methods (Figure \ref{fig:uniaxial_sensitivity_dist_active_damping_ft}). +This is because the equivalent damper in parallel with the actuator (see Figure \ref{fig:uniaxial_active_damping_rdc_equiv}) increases the transmission of the micro-station vibration to the sample which is not the same for the other two active damping strategies. +\item both IFF and DVF degrade the sensitivity to floor motion below the resonance of the nano-hexapod (Figure \ref{fig:uniaxial_sensitivity_dist_active_damping_xf}). +\end{itemize} + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_active_damping_fs.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_active_damping_fs}Direct forces} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_active_damping_ft.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_active_damping_ft}$\mu\text{-station}$ disturbances} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_active_damping_xf.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_active_damping_xf}Floor motion} +\end{subfigure} +\caption{\label{fig:uniaxial_sensitivity_dist_active_damping}Change of sensitivity to disturbance with all three active damping strategies. \(f_s\) the direct forces applied on the sample \subref{fig:uniaxial_sensitivity_dist_active_damping_fs}, \(f_t\) disturbances from the micro-station stages \subref{fig:uniaxial_sensitivity_dist_active_damping_ft} and \(x_f\) the floor motion \subref{fig:uniaxial_sensitivity_dist_active_damping_fs}} +\end{figure} + +From the amplitude spectral density of the disturbances (computed in Section \ref{sec:uniaxial_disturbances}) and the sensitivity to disturbances estimated using the three active damping strategies, a noise budget can be calculated. +The cumulative amplitude spectrum of the distance \(d\) with all three active damping techniques is shown in Figure \ref{fig:uniaxial_cas_active_damping} and compared with the open-loop case. +All three active damping methods give similar results. + +\begin{figure}[htbp] +\begin{subfigure}{0.36\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_cas_active_damping_soft.png} +\end{center} +\subcaption{\label{fig:uniaxial_cas_active_damping_soft}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_cas_active_damping_mid.png} +\end{center} +\subcaption{\label{fig:uniaxial_cas_active_damping_mid}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_cas_active_damping_stiff.png} +\end{center} +\subcaption{\label{fig:uniaxial_cas_active_damping_stiff}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:uniaxial_cas_active_damping}Comparison of the cumulative amplitude spectrum (CAS) of the distance \(d\) for all three active damping techniques (OL in black, IFF in blue, RDC in red and DVF in yellow).} +\end{figure} + +\subsection*{Conclusion} +Three active damping strategies have been studied for the \acrfull{nass}. +Equivalent mechanical representations were derived in Section \ref{ssec:uniaxial_active_damping_strategies} which are helpful for understanding the specific effects of each strategy. +The plant dynamics were then compared in Section \ref{ssec:uniaxial_active_damping_plants} and were found to all have alternating poles and zeros, which helps in the design of the active damping controller. +However, this property is not guaranteed for DVF. +The achievable damping of the nano-hexapod suspension mode can be made as large as possible for all three active damping techniques (Section \ref{ssec:uniaxial_active_damping_achievable_damping}). +Even some damping can be applied to some micro-station modes in specific cases. +The obtained damped plants were found to be similar. +The damping strategies were then compared in terms of disturbance reduction in Section \ref{ssec:uniaxial_active_damping_sensitivity_disturbances}. + +The comparison between the three active damping strategies is summarized in Table \ref{tab:comp_active_damping}. +It is difficult to conclude on the best active damping strategy for the \acrfull{nass} yet. +Which one will be used will be determined by the use of more accurate models and will depend on which is the easiest to implement in practice + +\begin{table}[htbp] +\centering +\scriptsize +\begin{tabularx}{0.9\linewidth}{Xccc} +\toprule + & \textbf{IFF} & \textbf{RDC} & \textbf{DVF}\\ +\midrule +\textbf{Sensor} & Force sensor & Relative motion sensor & Inertial sensor\\ +\midrule +\textbf{Damping} & Up to critical & Up to critical & Up to Critical\\ +\midrule +\textbf{Robustness} & Requires collocation & Requires collocation & Impacted by geophone resonances\\ +\midrule +\(f_s\) \textbf{Disturbance} & \(\nearrow\) at low frequency & \(\searrow\) near resonance & \(\searrow\) near resonance\\ +\(f_t\) \textbf{Disturbance} & \(\searrow\) near resonance & \(\nearrow\) near resonance & \(\searrow\) near resonance\\ +\(x_f\) \textbf{Disturbance} & \(\nearrow\) at low frequency & \(\searrow\) near resonance & \(\nearrow\) at low frequency\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:comp_active_damping}Comparison of active damping strategies} + +\end{table} + +\subsection{Position Feedback Controller} +\label{sec:uniaxial_position_control} +The \gls{haclac} architecture is shown in Figure \ref{fig:uniaxial_hac_lac_architecture}. +This corresponds to a \emph{two step} control strategy: +\begin{itemize} +\item First, an active damping controller \(\bm{K}_{\textsc{LAC}}\) is implemented (see Section \ref{sec:uniaxial_active_damping}). +It allows the vibration level to be reduced, and it also makes the damped plant (transfer function from \(u^{\prime}\) to \(y\)) easier to control than the undamped plant (transfer function from \(u\) to \(y\)). +This is called \emph{low authority} control as it only slightly affects the system poles \cite[Chapter 14.6]{preumont18_vibrat_contr_activ_struc_fourt_edition}. +\item Then, a position controller \(\bm{K}_{\textsc{HAC}}\) is implemented and is used to control the position \(d\). +This is called \emph{high authority} control as it usually relocates the system's poles. +\end{itemize} + +In this section, Integral Force Feedback is used as the Low Authority Controller (the other two damping strategies would lead to the same conclusions here). +This control architecture applied to the uniaxial model is shown in Figure \ref{fig:uniaxial_hac_lac_model}. + +\begin{figure}[htbp] +\begin{subfigure}{0.54\textwidth} +\begin{center} +\includegraphics[scale=1,width=1.0\linewidth]{figs/uniaxial_hac_lac_architecture.png} +\end{center} +\subcaption{\label{fig:uniaxial_hac_lac_architecture}Typical HAC-LAC Architecture} +\end{subfigure} +\begin{subfigure}{0.45\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_hac_lac_model.png} +\end{center} +\subcaption{\label{fig:uniaxial_hac_lac_model}Uniaxial model with HAC-IFF strategy} +\end{subfigure} +\caption{\label{fig:uniaxial_hac_lac}\acrfull{haclac}} +\end{figure} +\subsection{Damped Plant Dynamics} +\label{ssec:uniaxial_position_control_damped_dynamics} +The damped plants obtained for the three nano-hexapod stiffnesses are shown in Figure \ref{fig:uniaxial_hac_iff_damped_plants_masses}. +For \(k_n = 0.01\,N/\mu m\) and \(k_n = 1\,N/\mu m\), the dynamics are quite simple and can be well approximated by a second-order plant (Figures \ref{fig:uniaxial_hac_iff_damped_plants_masses_soft} and \ref{fig:uniaxial_hac_iff_damped_plants_masses_mid}). +However, this is not the case for the stiff nano-hexapod (\(k_n = 100\,N/\mu m\)) where two modes can be seen (Figure \ref{fig:uniaxial_hac_iff_damped_plants_masses_stiff}). +This is due to the interaction between the micro-station (modeled modes at 70Hz, 140Hz and 320Hz) and the nano-hexapod. +This effect will be further explained in Section \ref{sec:uniaxial_support_compliance}. + +\begin{figure}[htbp] +\begin{subfigure}{0.36\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_hac_iff_damped_plants_masses_soft.png} +\end{center} +\subcaption{\label{fig:uniaxial_hac_iff_damped_plants_masses_soft}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_hac_iff_damped_plants_masses_mid.png} +\end{center} +\subcaption{\label{fig:uniaxial_hac_iff_damped_plants_masses_mid}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_hac_iff_damped_plants_masses_stiff.png} +\end{center} +\subcaption{\label{fig:uniaxial_hac_iff_damped_plants_masses_stiff}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:uniaxial_hac_iff_damped_plants_masses}Obtained damped plant using Integral Force Feedback for three sample masses} +\end{figure} + +\subsection{Position Feedback Controller} +\label{ssec:uniaxial_position_control_design} + +The objective is to design high-authority feedback controllers for the three nano-hexapods. +This controller must be robust to the change of sample's mass (from \(1\,\text{kg}\) up to \(50\,\text{kg}\)). + +The required feedback bandwidths were estimated in Section \ref{sec:uniaxial_noise_budgeting}: +\begin{itemize} +\item \(f_b \approx 10\,\text{Hz}\) for the soft nano-hexapod (\(k_n = 0.01\,N/\mu m\)). +Near this frequency, the plants (shown in Figure \ref{fig:uniaxial_hac_iff_damped_plants_masses_soft}) are equivalent to a mass line (i.e., slope of \(-40\,dB/\text{dec}\) and a phase of -180 degrees). +The gain of this mass line can vary up to a fact \(\approx 5\) (suspended mass from \(16\,kg\) up to \(65\,kg\)). +This means that the designed controller will need to have \emph{large gain margins} to be robust to the change of sample's mass. +\item \(\approx 50\,\text{Hz}\) for the relatively stiff nano-hexapod (\(k_n = 1\,N/\mu m\)). +Similar to the soft nano-hexapod, the plants near the crossover frequency are equivalent to a mass line (Figure \ref{fig:uniaxial_hac_iff_damped_plants_masses_mid}). +It will probably be easier to have a little bit more bandwidth in this configuration to be further away from the nano-hexapod suspension mode. +\item \(\approx 100\,\text{Hz}\) for the stiff nano-hexapod (\(k_n = 100\,N/\mu m\)). +Contrary to the two first nano-hexapod stiffnesses, here the plants have more complex dynamics near the desired crossover frequency (see Figure \ref{fig:uniaxial_hac_iff_damped_plants_masses_stiff}). +The micro-station is not stiff enough to have a clear stiffness line at this frequency. +Therefore, there is both a change of phase and gain depending on the sample mass. +This makes the robust design of the controller more complicated. +\end{itemize} + +Position feedback controllers are designed for each nano-hexapod such that it is stable for all considered sample masses with similar stability margins (see Nyquist plots in Figure \ref{fig:uniaxial_nyquist_hac}). +An arbitrary minimum modulus margin of \(0.25\) was chosen when designing the controllers. +These high authority controllers are generally composed of a lag at low frequency for disturbance rejection, a lead to increase the phase margin near the crossover frequency, and a low pass filter to increase the robustness to high frequency dynamics. +The controllers used for the three nano-hexapod are shown in Equation \eqref{eq:uniaxial_hac_formulas}, and the parameters used are summarized in Table \ref{tab:uniaxial_feedback_controller_parameters}. + +\begin{subequations} \label{eq:uniaxial_hac_formulas} +\begin{align} +K_{\text{soft}}(s) &= g \cdot + \underbrace{\frac{s + \omega_0}{s + \omega_i}}_{\text{lag}} \cdot + \underbrace{\frac{1 + \frac{s}{\omega_c/\sqrt{a}}}{1 + \frac{s}{\omega_c \sqrt{a}}}}_{\text{lead}} \cdot + \underbrace{\frac{1}{1 + \frac{s}{\omega_l}}}_{\text{LPF}} \\ +K_{\text{mid}}(s) &= g \cdot + \underbrace{\left(\frac{s + \omega_0}{s + \omega_i}\right)^2}_{\text{2 lags}} \cdot + \underbrace{\frac{1 + \frac{s}{\omega_c/\sqrt{a}}}{1 + \frac{s}{\omega_c \sqrt{a}}}}_{\text{lead}} \cdot + \underbrace{\frac{1}{1 + \frac{s}{\omega_l}}}_{\text{LPF}} \\ +K_{\text{stiff}}(s) &= g \cdot + \underbrace{\left(\frac{1}{s + \omega_i}\right)^2}_{\text{2 lags}} \cdot + \underbrace{\left(\frac{1 + \frac{s}{\omega_c/\sqrt{a}}}{1 + \frac{s}{\omega_c \sqrt{a}}}\right)^2}_{\text{2 leads}} \cdot + \underbrace{\frac{1}{1 + \frac{s}{\omega_l}}}_{\text{LPF}} +\end{align} +\end{subequations} + +\begin{table}[htbp] +\centering +\begin{tabularx}{\linewidth}{lXXX} +\toprule + & \textbf{Soft} & \textbf{Moderately stiff} & \textbf{Stiff}\\ +\midrule +\textbf{Gain} & \(g = 4 \cdot 10^5\) & \(g = 3 \cdot 10^6\) & \(g = 6 \cdot 10^{12}\)\\ +\textbf{Lead} & \(a = 5\), \(\omega_c = 20\,Hz\) & \(a = 4\), \(\omega_c = 70\,Hz\) & \(a = 5\), \(\omega_c = 100\,Hz\)\\ +\textbf{Lag} & \(\omega_0 = 5\,Hz\), \(\omega_i = 0.01\,Hz\) & \(\omega_0 = 20\,Hz\), \(\omega_i = 0.01\,Hz\) & \(\omega_i = 0.01\,Hz\)\\ +\textbf{LPF} & \(\omega_l = 200\,Hz\) & \(\omega_l = 300\,Hz\) & \(\omega_l = 500\,Hz\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:uniaxial_feedback_controller_parameters}Parameters used for the position feedback controllers} + +\end{table} + +The loop gains corresponding to the designed high authority controllers for the three nano-hexapod are shown in Figure \ref{fig:uniaxial_loop_gain_hac}. +We can see that for the soft and moderately stiff nano-hexapod (Figures \ref{fig:uniaxial_nyquist_hac_vc} and \ref{fig:uniaxial_nyquist_hac_md}), the crossover frequency varies significantly with the sample mass. +This is because the crossover frequency corresponds to the mass line of the plant (whose gain is inversely proportional to the mass). +For the stiff nano-hexapod (Figure \ref{fig:uniaxial_nyquist_hac_pz}), it was difficult to achieve the desired closed-loop bandwidth of \(\approx 100\,\text{Hz}\). +A crossover frequency of \(\approx 65\,\text{Hz}\) was achieved instead. + +Note that these controllers were not designed using any optimization methods. +The goal is to have a first estimation of the attainable performance. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_nyquist_hac_vc.png} +\end{center} +\subcaption{\label{fig:uniaxial_nyquist_hac_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_nyquist_hac_md.png} +\end{center} +\subcaption{\label{fig:uniaxial_nyquist_hac_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_nyquist_hac_pz.png} +\end{center} +\subcaption{\label{fig:uniaxial_nyquist_hac_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:uniaxial_nyquist_hac}Nyquist Plot for the high authority controller. The minimum modulus margin is illustrated by a black circle.} +\end{figure} + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_loop_gain_hac_vc.png} +\end{center} +\subcaption{\label{fig:uniaxial_loop_gain_hac_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_loop_gain_hac_md.png} +\end{center} +\subcaption{\label{fig:uniaxial_loop_gain_hac_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_loop_gain_hac_pz.png} +\end{center} +\subcaption{\label{fig:uniaxial_loop_gain_hac_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:uniaxial_loop_gain_hac}Loop gain for the High Authority Controller} +\end{figure} + +\subsection{Closed-Loop Noise Budgeting} +\label{ssec:uniaxial_position_control_cl_noise_budget} + +The high authority position feedback controllers are then implemented and the closed-loop sensitivities to disturbances are computed. +These are compared with the open-loop and damped plants cases in Figure \ref{fig:uniaxial_sensitivity_dist_hac_lac} for just one configuration (moderately stiff nano-hexapod with 25kg sample's mass). +As expected, the sensitivity to disturbances decreased in the controller bandwidth and slightly increased outside this bandwidth. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_hac_lac_fs.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_hac_lac_fs}Direct forces} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_hac_lac_ft.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_hac_lac_ft}$\mu\text{-station}$ disturbances} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_sensitivity_dist_hac_lac_xf.png} +\end{center} +\subcaption{\label{fig:uniaxial_sensitivity_dist_hac_lac_xf}Floor motion} +\end{subfigure} +\caption{\label{fig:uniaxial_sensitivity_dist_hac_lac}Change of sensitivity to disturbances with LAC and with \acrshort{haclac}. A nano-Hexapod with \(k_n = 1\,N/\mu m\) and a sample mass of \(25\,kg\) is used. \(f_s\) the direct forces applied on the sample \subref{fig:uniaxial_sensitivity_dist_hac_lac_fs}, \(f_t\) disturbances from the micro-station stages \subref{fig:uniaxial_sensitivity_dist_hac_lac_ft} and \(x_f\) the floor motion \subref{fig:uniaxial_sensitivity_dist_hac_lac_fs}} +\end{figure} + +The cumulative amplitude spectrum of the motion \(d\) is computed for all nano-hexapod configurations, all sample masses and in the open-loop (OL), damped (IFF) and position controlled (HAC-IFF) cases. +The results are shown in Figure \ref{fig:uniaxial_cas_hac_lac}. +Obtained root mean square values of the distance \(d\) are better for the soft nano-hexapod (\(\approx 25\,nm\) to \(\approx 35\,nm\) depending on the sample's mass) than for the stiffer nano-hexapod (from \(\approx 30\,nm\) to \(\approx 70\,nm\)). + +\begin{figure}[htbp] +\begin{subfigure}{0.36\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_cas_hac_lac_soft.png} +\end{center} +\subcaption{\label{fig:uniaxial_cas_hac_lac_soft}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_cas_hac_lac_mid.png} +\end{center} +\subcaption{\label{fig:uniaxial_cas_hac_lac_mid}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_cas_hac_lac_stiff.png} +\end{center} +\subcaption{\label{fig:uniaxial_cas_hac_lac_stiff}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:uniaxial_cas_hac_lac}Cumulative Amplitude Spectrum for all three nano-hexapod stiffnesses - Comparison of OL, IFF and \acrshort{haclac} cases} +\end{figure} + +\subsection*{Conclusion} +On the basis of the open-loop noise budgeting made in Section \ref{sec:uniaxial_noise_budgeting}, the closed-loop bandwidth required to obtain a vibration level of \(\approx 20\,nm\,\text{RMS}\) was estimated. +To achieve such bandwidth, the \acrshort{haclac} strategy was followed, which consists of first using an active damping controller (studied in Section \ref{sec:uniaxial_active_damping}) and then adding a high authority position feedback controller. + +In this section, feedback controllers were designed in such a way that the required closed-loop bandwidth was reached while being robust to changes in the payload mass. +The attainable vibration control performances were estimated for the three nano-hexapod stiffnesses and were found to be close to the required values. +However, the stiff nano-hexapod (\(k_n = 100\,N/\mu m\)) is requiring the largest feedback bandwidth, which is difficult to achieve while being robust to the change of payload mass. +A slight advantage can be given to the soft nano-hexapod as it requires less feedback bandwidth while providing better stability results. + +\subsection{Effect of limited micro-station compliance} +\label{sec:uniaxial_support_compliance} +In this section, the impact of the compliance of the support (i.e., the micro-station) on the dynamics of the plant to control is studied. +This is a critical point because the dynamics of the micro-station is complex, depends on the considered direction (see measurements in Figure \ref{fig:uniaxial_comp_frf_meas_model}) and may vary with position and time. +It would be much better to have a plant dynamics that is not impacted by the micro-station. + +Therefore, the objective of this section is to obtain some guidance for the design of a nano-hexapod that will not be impacted by the complex micro-station dynamics. +To study this, two models are used (Figure \ref{fig:uniaxial_support_compliance_models}). +The first one consists of the nano-hexapod directly fixed on top of the granite, thus neglecting any support compliance (Figure \ref{fig:uniaxial_support_compliance_nano_hexapod_only}). +The second one consists of the nano-hexapod fixed on top of the micro-station having some limited compliance (Figure \ref{fig:uniaxial_support_compliance_test_system}) + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_support_compliance_nano_hexapod_only.png} +\end{center} +\subcaption{\label{fig:uniaxial_support_compliance_nano_hexapod_only}Nano-Hexapod fixed directly on the Granite} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_support_compliance_test_system.png} +\end{center} +\subcaption{\label{fig:uniaxial_support_compliance_test_system}Nano-Hexapod fixed on top of the Micro-Station} +\end{subfigure} +\caption{\label{fig:uniaxial_support_compliance_models}Models used to study the effect of limited support compliance} +\end{figure} +\subsection{Neglected support compliance} + +The limited compliance of the micro-station is first neglected and the uniaxial model shown in Figure \ref{fig:uniaxial_support_compliance_nano_hexapod_only} is used. +The nano-hexapod mass (including the payload) is set at \(20\,\text{kg}\) and three hexapod stiffnesses are considered, such that their resonance frequencies are at \(\omega_{n} = 10\,\text{Hz}\), \(\omega_{n} = 70\,\text{Hz}\) and \(\omega_{n} = 400\,\text{Hz}\). +Obtained transfer functions from \(F\) to \(L^\prime\) (shown in Figure \ref{fig:uniaxial_effect_support_compliance_neglected}) are simple second-order low-pass filters. +When neglecting the support compliance, a large feedback bandwidth can be achieved for all three nano-hexapods. + +\begin{figure}[htbp] +\begin{subfigure}{0.36\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_neglected_soft.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_neglected_soft}$\omega_{n} \ll \omega_{\mu}$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_neglected_mid.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_neglected_mid}$\omega_{n} = \omega_{\mu}$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_neglected_stiff.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_neglected_stiff}$\omega_{n} \gg \omega_{\mu}$} +\end{subfigure} +\caption{\label{fig:uniaxial_effect_support_compliance_neglected}Obtained transfer functions from \(F\) to \(L^{\prime}\) when neglecting support compliance} +\end{figure} + +\subsection{Effect of support compliance on \(L/F\)} + +Some support compliance is now added and the model shown in Figure \ref{fig:uniaxial_support_compliance_test_system} is used. +The parameters of the support (i.e., \(m_{\mu}\), \(c_{\mu}\) and \(k_{\mu}\)) are chosen to match the vertical mode at \(70\,\text{Hz}\) seen on the micro-station (Figure \ref{fig:uniaxial_comp_frf_meas_model}). +The transfer functions from \(F\) to \(L\) (i.e., control of the relative motion of the nano-hexapod) and from \(L\) to \(d\) (i.e., control of the position between the nano-hexapod and the fixed granite) can then be computed. + +When the relative displacement of the nano-hexapod \(L\) is controlled (dynamics shown in Figure \ref{fig:uniaxial_effect_support_compliance_dynamics}), having a stiff nano-hexapod (i.e., with a suspension mode at higher frequency than the mode of the support) makes the dynamics less affected by the limited support compliance (Figure \ref{fig:uniaxial_effect_support_compliance_dynamics_stiff}). +This is why it is very common to have stiff piezoelectric stages fixed at the very top of positioning stages. +In such a case, the control of the piezoelectric stage using its integrated metrology (typically capacitive sensors) is quite simple as the plant is not much affected by the dynamics of the support on which it is fixed. +If a soft nano-hexapod is used, the support dynamics appears in the dynamics between \(F\) and \(L\) (see Figure \ref{fig:uniaxial_effect_support_compliance_dynamics_soft}) which will impact the control robustness and performance. + +\begin{figure}[htbp] +\begin{subfigure}{0.36\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_dynamics_soft.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_soft}$\omega_{n} \ll \omega_{\mu}$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_dynamics_mid.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_mid}$\omega_{n} = \omega_{\mu}$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_dynamics_stiff.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_stiff}$\omega_{n} \gg \omega_{\mu}$} +\end{subfigure} +\caption{\label{fig:uniaxial_effect_support_compliance_dynamics}Effect of the support compliance on the transfer functions from \(F\) to \(L\)} +\end{figure} + +\subsection{Effect of support compliance on \(d/F\)} + +When the motion to be controlled is the relative displacement \(d\) between the granite and the nano-hexapod's top platform (which is the case for the \acrshort{nass}), the effect of the support compliance on the plant dynamics is opposite to that previously observed. +Indeed, using a ``soft'' nano-hexapod (i.e., with a suspension mode at lower frequency than the mode of the support) makes the dynamics less affected by the support dynamics (Figure \ref{fig:uniaxial_effect_support_compliance_dynamics_d_soft}). +Conversely, if a ``stiff'' nano-hexapod is used, the support dynamics appears in the plant dynamics (Figure \ref{fig:uniaxial_effect_support_compliance_dynamics_d_stiff}). + +\begin{figure}[htbp] +\begin{subfigure}{0.36\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_dynamics_d_soft.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_d_soft}$\omega_{n} \ll \omega_{\mu}$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_dynamics_d_mid.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_d_mid}$\omega_{n} = \omega_{\mu}$} +\end{subfigure} +\begin{subfigure}{0.30\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_effect_support_compliance_dynamics_d_stiff.png} +\end{center} +\subcaption{\label{fig:uniaxial_effect_support_compliance_dynamics_d_stiff}$\omega_{n} \gg \omega_{\mu}$} +\end{subfigure} +\caption{\label{fig:uniaxial_effect_support_compliance_dynamics_d}Effect of the support compliance on the transfer functions from \(F\) to \(d\)} +\end{figure} + +\subsection*{Conclusion} +To study the impact of support compliance on plant dynamics, simple models shown in Figure \ref{fig:uniaxial_support_compliance_models} were used. +Depending on the quantity to be controlled (\(L\) or \(d\) in Figure \ref{fig:uniaxial_support_compliance_test_system}) and on the relative location of \(\omega_\nu\) (suspension mode of the nano-hexapod) with respect to \(\omega_\mu\) (modes of the support), the interaction between the support and the nano-hexapod dynamics can drastically change (observations made are summarized in Table \ref{tab:uniaxial_effect_compliance}). + +For the \acrfull{nass}, having the suspension mode of the nano-hexapod at lower frequencies than the suspension modes of the micro-station would make the plant less dependent on the micro-station dynamics, and therefore easier to control. +Note that the observations made in this section are also affected by the ratio between the support mass \(m_{\mu}\) and the nano-hexapod mass \(m_n\) (the effect is more pronounced when the ratio \(m_n/m_{\mu}\) increases). + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.4\linewidth}{Xccc} +\toprule + & \(\omega_{\nu} \ll \omega_{\mu}\) & \(\omega_{\nu} \approx \omega_{\mu}\) & \(\omega_{\nu} \gg \omega_{\mu}\)\\ +\midrule +\(d/F\) & small & large & large\\ +\(L/F\) & large & large & small\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:uniaxial_effect_compliance}Impact of the support dynamics on the plant dynamics} + +\end{table} + +\subsection{Effect of Payload Dynamics} +\label{sec:uniaxial_payload_dynamics} +Up to this section, the sample was modeled as a mass rigidly fixed to the nano-hexapod (as shown in Figure \ref{fig:uniaxial_paylaod_dynamics_rigid_schematic}). +However, such a sample may present internal dynamics, and its fixation to the nano-hexapod may have limited stiffness. +To study the effect of the sample dynamics, the models shown in Figure \ref{fig:uniaxial_paylaod_dynamics_schematic} are used. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_paylaod_dynamics_rigid_schematic.png} +\end{center} +\subcaption{\label{fig:uniaxial_paylaod_dynamics_rigid_schematic}Rigid payload} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/uniaxial_paylaod_dynamics_schematic.png} +\end{center} +\subcaption{\label{fig:uniaxial_paylaod_dynamics_schematic}Payload with some flexibility} +\end{subfigure} +\caption{\label{fig:uniaxial_payload_dynamics_models}Models used to study the effect of payload dynamics} +\end{figure} + +\subsection{Impact on plant dynamics} +\label{ssec:uniaxial_payload_dynamics_effect_dynamics} + +To study the impact of the flexibility between the nano-hexapod and the payload, a first (reference) model with a rigid payload, as shown in Figure \ref{fig:uniaxial_paylaod_dynamics_rigid_schematic} is used. +Then ``flexible'' payload whose model is shown in Figure \ref{fig:uniaxial_paylaod_dynamics_schematic} are considered. +The resonances of the payload are set at \(\omega_s = 20\,\text{Hz}\) and at \(\omega_s = 200\,\text{Hz}\) while its mass is either \(m_s = 1\,\text{kg}\) or \(m_s = 50\,\text{kg}\). + +The transfer functions from the nano-hexapod force \(f\) to the motion of the nano-hexapod top platform are computed for all the above configurations and are compared for a soft Nano-Hexapod (\(k_n = 0.01\,N/\mu m\)) in Figure \ref{fig:uniaxial_payload_dynamics_soft_nano_hexapod}. +It can be seen that the mode of the sample adds an anti-resonance followed by a resonance (zero/pole pattern). +The frequency of the anti-resonance corresponds to the ``free'' resonance of the sample \(\omega_s = \sqrt{k_s/m_s}\). +The flexibility of the sample also changes the high frequency gain (the mass line is shifted from \(\frac{1}{(m_n + m_s)s^2}\) to \(\frac{1}{m_ns^2}\)). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/uniaxial_payload_dynamics_soft_nano_hexapod_light.png} +\end{center} +\subcaption{\label{fig:uniaxial_payload_dynamics_soft_nano_hexapod_light}$k_n = 0.01\,N/\mu m$, $m_s = 1\,kg$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/uniaxial_payload_dynamics_soft_nano_hexapod_heavy.png} +\end{center} +\subcaption{\label{fig:uniaxial_payload_dynamics_soft_nano_hexapod_heavy}$k_n = 0.01\,N/\mu m$, $m_s = 50\,kg$} +\end{subfigure} +\caption{\label{fig:uniaxial_payload_dynamics_soft_nano_hexapod}Effect of the payload dynamics on the soft Nano-Hexapod. Light sample \subref{fig:uniaxial_payload_dynamics_soft_nano_hexapod_light}, and heavy sample \subref{fig:uniaxial_payload_dynamics_soft_nano_hexapod_heavy}} +\end{figure} + +The same transfer functions are now compared when using a stiff nano-hexapod (\(k_n = 100\,N/\mu m\)) in Figure \ref{fig:uniaxial_payload_dynamics_stiff_nano_hexapod}. +In this case, the sample's resonance \(\omega_s\) is smaller than the nano-hexapod resonance \(\omega_n\). +This changes the zero/pole pattern to a pole/zero pattern (the frequency of the zero still being equal to \(\omega_s\)). +Even though the added sample's flexibility still shifts the high frequency mass line as for the soft nano-hexapod, the dynamics below the nano-hexapod resonance is much less impacted, even when the sample mass is high and when the sample resonance is at low frequency (see yellow curve in Figure \ref{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_heavy}). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/uniaxial_payload_dynamics_stiff_nano_hexapod_light.png} +\end{center} +\subcaption{\label{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_light}$k_n = 100\,N/\mu m$, $m_s = 1\,kg$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/uniaxial_payload_dynamics_stiff_nano_hexapod_heavy.png} +\end{center} +\subcaption{\label{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_heavy}$k_n = 100\,N/\mu m$, $m_s = 50\,kg$} +\end{subfigure} +\caption{\label{fig:uniaxial_payload_dynamics_stiff_nano_hexapod}Effect of the payload dynamics on the stiff Nano-Hexapod. Light sample \subref{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_light}, and heavy sample \subref{fig:uniaxial_payload_dynamics_stiff_nano_hexapod_heavy}} +\end{figure} + +\subsection{Impact on close loop performances} +\label{ssec:uniaxial_payload_dynamics_effect_stability} + +Having a flexibility between the measured position (i.e., the top platform of the nano-hexapod) and the point-of-interest to be positioned relative to the x-ray may also impact the closed-loop performance (i.e., the remaining sample's vibration). + +To estimate whether the sample flexibility is critical for the closed-loop position stability of the sample, the model shown in Figure \ref{fig:uniaxial_sample_flexibility_control} is used. +This is the same model that was used in Section \ref{sec:uniaxial_position_control} but with an added flexibility between the nano-hexapod and the sample (considered sample modes are at \(\omega_s = 20\,\text{Hz}\) and \(\omega_n = 200\,\text{Hz}\)). +In this case, the measured (i.e., controlled) distance \(d\) is no longer equal to the real performance index (the distance \(y\)). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/uniaxial_sample_flexibility_control.png} +\caption{\label{fig:uniaxial_sample_flexibility_control}Uniaxial model considering some flexibility between the nano-hexapod top platform and the sample. In this case, the measured and controlled distance \(d\) is different from the distance \(y\) which is the real performance index} +\end{figure} + +The system dynamics is computed and IFF is applied using the same gains as those used in Section \ref{sec:uniaxial_active_damping}. +Due to the collocation between the nano-hexapod and the force sensor used for IFF, the damped plants are still stable and similar damping values are obtained than when considering a rigid sample. +The High Authority Controllers used in Section \ref{sec:uniaxial_position_control} are then implemented on the damped plants. +The obtained closed-loop systems are stable, indicating good robustness. + +Finally, closed-loop noise budgeting is computed for the obtained closed-loop system, and the cumulative amplitude spectrum of \(d\) and \(y\) are shown in Figure \ref{fig:uniaxial_sample_flexibility_noise_budget_y}. +The cumulative amplitude spectrum of the measured distance \(d\) (Figure \ref{fig:uniaxial_sample_flexibility_noise_budget_d}) shows that the added flexibility at the sample location has very little effect on the control performance. +However, the cumulative amplitude spectrum of the distance \(y\) (Figure \ref{fig:uniaxial_sample_flexibility_noise_budget_y}) shows that the stability of \(y\) is degraded when the sample flexibility is considered and is degraded as \(\omega_s\) is lowered. + +What happens is that above \(\omega_s\), even though the motion \(d\) can be controlled perfectly, the sample's mass is ``isolated'' from the motion of the nano-hexapod and the control on \(y\) is not effective. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_sample_flexibility_noise_budget_d.png} +\end{center} +\subcaption{\label{fig:uniaxial_sample_flexibility_noise_budget_d}Cumulative Amplitude Spectrum of $d$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/uniaxial_sample_flexibility_noise_budget_y.png} +\end{center} +\subcaption{\label{fig:uniaxial_sample_flexibility_noise_budget_y}Cumulative Amplitude Spectrum of $y$} +\end{subfigure} +\caption{\label{fig:uniaxial_sample_flexibility_noise_budget}Cumulative Amplitude Spectrum of the distances \(d\) and \(y\). The effect of the sample's flexibility does not affect much \(d\) but is detrimental to the stability of \(y\). A sample mass \(m_s = 1\,\text{kg}\) and a nano-hexapod stiffness of \(100\,N/\mu m\) are used for the simulations.} +\end{figure} + +\subsection*{Conclusion} +Payload dynamics is usually a major concern when designing a positioning system. +In this section, the impact of the sample dynamics on the plant was found to vary with the sample mass and the relative resonance frequency of the sample \(\omega_s\) and of the nano-hexapod \(\omega_n\). +The larger the sample mass, the larger the effect (i.e., change of high frequency gain, appearance of additional resonances and anti-resonances). +A zero/pole pattern is observed if \(\omega_s > \omega_n\) and a pole/zero pattern if \(\omega_s > \omega_n\). +Such additional dynamics can induce stability issues depending on their position relative to the desired feedback bandwidth, as explained in \cite[Section 4.2]{rankers98_machin}. +The general conclusion is that the stiffer the nano-hexapod, the less it is impacted by the payload's dynamics, which would make the feedback controller more robust to a change of payload. +This is why high-bandwidth soft positioning stages are usually restricted to constant and calibrated payloads (CD-player, lithography machines, isolation system for gravitational wave detectors, \ldots{}), whereas stiff positioning systems are usually used when the control must be robust to a change of payload's mass (stiff piezo nano-positioning stages for instance). + +Having some flexibility between the measurement point and the point of interest (i.e., the sample point to be position on the x-ray) also degrades the position stability as shown in Section \ref{ssec:uniaxial_payload_dynamics_effect_stability}. +Therefore, it is important to take special care when designing sampling environments, especially if a soft nano-hexapod is used. + +\subsection*{Conclusion} +\label{sec:uniaxial_conclusion} + +In this study, a uniaxial model of the nano-active-stabilization-system was tuned from both dynamical measurements (Section \ref{sec:uniaxial_micro_station_model}) and from disturbances measurements (Section \ref{sec:uniaxial_disturbances}). + +Three active damping techniques can be used to critically damp the nano-hexapod resonances (Section \ref{sec:uniaxial_active_damping}). +However, this model does not allow the determination of which one is most suited to this application (a comparison of the three active damping techniques is done in Table \ref{tab:comp_active_damping}). + +Position feedback controllers have been developed for three considered nano-hexapod stiffnesses (Section \ref{sec:uniaxial_position_control}). +These controllers were shown to be robust to the change of sample's masses, and to provide good rejection of disturbances. +Having a soft nano-hexapod makes the plant dynamics easier to control (because its dynamics is decoupled from the micro-station dynamics, see Section \ref{sec:uniaxial_support_compliance}) and requires less position feedback bandwidth to fulfill the requirements. +The moderately stiff nano-hexapod (\(k_n = 1\,N/\mu m\)) is requiring a higher feedback bandwidth, but still gives acceptable results. +However, the stiff nano-hexapod is the most complex to control and gives the worst positioning performance. + +\section{Effect of rotation} +An important aspect of the \acrfull{nass} is that the nano-hexapod continuously rotates around a vertical axis, whereas the external metrology is not. +Such rotation induces gyroscopic effects that may impact the system dynamics and obtained performance. +To study these effects, a model of a rotating suspended platform is first presented (Section \ref{sec:rotating_system_description}) +This model is simple enough to be able to derive its dynamics analytically and to understand its behavior, while still allowing the capture of important physical effects in play. + +\acrfull{iff} is then applied to the rotating platform, and it is shown that the unconditional stability of \acrshort{iff} is lost due to the gyroscopic effects induced by the rotation (Section \ref{sec:rotating_iff_pure_int}). +Two modifications of the Integral Force Feedback are then proposed. +The first modification involves adding a high-pass filter to the \acrshort{iff} controller (Section \ref{sec:rotating_iff_pseudo_int}). +It is shown that the \acrshort{iff} controller is stable for some gain values, and that damping can be added to the suspension modes. +The optimal high-pass filter cut-off frequency is computed. +The second modification consists of adding a stiffness in parallel to the force sensors (Section \ref{sec:rotating_iff_parallel_stiffness}). +Under certain conditions, the unconditional stability of the IFF controller is regained. +The optimal parallel stiffness is then computed. +This study of adapting \acrshort{iff} for the damping of rotating platforms has been the subject of two published papers \cite{dehaeze20_activ_dampin_rotat_platf_integ_force_feedb,dehaeze21_activ_dampin_rotat_platf_using}. + +It is then shown that \acrfull{rdc} is less affected by gyroscopic effects (Section \ref{sec:rotating_relative_damp_control}). +Once the optimal control parameters for the three tested active damping techniques are obtained, they are compared in terms of achievable damping, damped plant and closed-loop compliance and transmissibility (Section \ref{sec:rotating_comp_act_damp}). + +The previous analysis was applied to three considered nano-hexapod stiffnesses (\(k_n = 0.01\,N/\mu m\), \(k_n = 1\,N/\mu m\) and \(k_n = 100\,N/\mu m\)) and the optimal active damping controller was obtained in each case (Section \ref{sec:rotating_nano_hexapod}). +Up until this section, the study was performed on a very simplistic model that only captures the rotation aspect, and the model parameters were not tuned to correspond to the NASS. +In the last section (Section \ref{sec:rotating_nass}), a model of the micro-station is added below the suspended platform (i.e. the nano-hexapod) with a rotating spindle and parameters tuned to match the NASS dynamics. +The goal is to determine whether the rotation imposes performance limitation on the NASS. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/rotating_overview.png} +\caption{\label{fig:rotating_overview}Overview of this chapter's organization. Sections are indicated by the red circles.} +\end{figure} + +\subsection{System Description and Analysis} +\label{sec:rotating_system_description} +The system used to study gyroscopic effects consists of a 2 degree of freedom translation stage on top of a rotating stage (Figure \ref{fig:rotating_3dof_model_schematic}). +The rotating stage is supposed to be ideal, meaning it induces a perfect rotation \(\theta(t) = \Omega t\) where \(\Omega\) is the rotational speed in \(\si{\radian\per\s}\). +The suspended platform consists of two orthogonal actuators, each represented by three elements in parallel: a spring with a stiffness \(k\) in \(\si{\newton\per\meter}\), a dashpot with a damping coefficient \(c\) in \(\si{\newton\per(\meter\per\second)}\) and an ideal force source \(F_u, F_v\). +A payload with a mass \(m\) in \(\si{\kilo\gram}\), is mounted on the (rotating) suspended platform. +Two reference frames are used: an \emph{inertial} frame \((\vec{i}_x, \vec{i}_y, \vec{i}_z)\) and a \emph{uniform rotating} frame \((\vec{i}_u, \vec{i}_v, \vec{i}_w)\) rigidly fixed on top of the rotating stage with \(\vec{i}_w\) aligned with the rotation axis. +The position of the payload is represented by \((d_u, d_v, 0)\) expressed in the rotating frame. +After the dynamics of this system is studied, the objective will be to dampen the two suspension modes of the payload while the rotating stage performs a constant rotation. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,scale=0.8]{figs/rotating_3dof_model_schematic.png} +\caption{\label{fig:rotating_3dof_model_schematic}Schematic of the studied system} +\end{figure} + +\subsection{Equations of motion and transfer functions} +To obtain the equations of motion for the system represented in Figure \ref{fig:rotating_3dof_model_schematic}, the Lagrangian equation \eqref{eq:rotating_lagrangian_equations} is used. +\(L = T - V\) is the Lagrangian, \(T\) the kinetic coenergy, \(V\) the potential energy, \(D\) the dissipation function, and \(Q_i\) the generalized force associated with the generalized variable \(\begin{bmatrix}q_1 & q_2\end{bmatrix} = \begin{bmatrix}d_u & d_v\end{bmatrix}\). +These terms are derived in \eqref{eq:rotating_energy_functions_lagrange}. +Note that the equation of motion corresponding to constant rotation along \(\vec{i}_w\) is disregarded because this motion is imposed by the rotation stage. + +\begin{equation}\label{eq:rotating_lagrangian_equations} + \frac{d}{dt} \left( \frac{\partial L}{\partial \dot{q}_i} \right) + \frac{\partial D}{\partial \dot{q}_i} - \frac{\partial L}{\partial q_i} = Q_i +\end{equation} + +\begin{equation} \label{eq:rotating_energy_functions_lagrange} + \begin{aligned} + T &= \frac{1}{2} m \left( ( \dot{d}_u - \Omega d_v )^2 + ( \dot{d}_v + \Omega d_u )^2 \right), \quad Q_1 = F_u, \quad Q_2 = F_v, \\ + V &= \frac{1}{2} k \big( {d_u}^2 + {d_v}^2 \big), \quad D = \frac{1}{2} c \big( \dot{d}_u{}^2 + \dot{d}_v{}^2 \big) + \end{aligned} +\end{equation} + +Substituting equations \eqref{eq:rotating_energy_functions_lagrange} into equation \eqref{eq:rotating_lagrangian_equations} for both generalized coordinates gives two coupled differential equations \eqref{eq:rotating_eom_coupled_1} and \eqref{eq:rotating_eom_coupled_2}. + +\begin{subequations} \label{eq:rotating_eom_coupled} + \begin{align} + m \ddot{d}_u + c \dot{d}_u + ( k - m \Omega^2 ) d_u &= F_u + 2 m \Omega \dot{d}_v \label{eq:rotating_eom_coupled_1} \\ + m \ddot{d}_v + c \dot{d}_v + ( k \underbrace{-\,m \Omega^2}_{\text{Centrif.}} ) d_v &= F_v \underbrace{-\,2 m \Omega \dot{d}_u}_{\text{Coriolis}} \label{eq:rotating_eom_coupled_2} + \end{align} +\end{subequations} + +The uniform rotation of the system induces two \emph{gyroscopic effects} as shown in equation \eqref{eq:rotating_eom_coupled}: +\begin{itemize} +\item \emph{Centrifugal forces}: that can be seen as an added \emph{negative stiffness} \(- m \Omega^2\) along \(\vec{i}_u\) and \(\vec{i}_v\) +\item \emph{Coriolis forces}: that adds \emph{coupling} between the two orthogonal directions. +\end{itemize} +One can verify that without rotation (\(\Omega = 0\)), the system becomes equivalent to two \emph{uncoupled} one degree of freedom mass-spring-damper systems. + +To study the dynamics of the system, the two differential equations of motions \eqref{eq:rotating_eom_coupled} are converted into the Laplace domain and the \(2 \times 2\) transfer function matrix \(\mathbf{G}_d\) from \(\begin{bmatrix}F_u & F_v\end{bmatrix}\) to \(\begin{bmatrix}d_u & d_v\end{bmatrix}\) in equation \eqref{eq:rotating_Gd_mimo_tf} is obtained. +The four transfer functions in \(\mathbf{G}_d\) are shown in equation \eqref{eq:rotating_Gd_indiv_el}. + +\begin{equation}\label{eq:rotating_Gd_mimo_tf} + \begin{bmatrix} d_u \\ d_v \end{bmatrix} = \mathbf{G}_d \begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} + +\begin{subequations}\label{eq:rotating_Gd_indiv_el} +\begin{align} + \mathbf{G}_{d}(1,1) &= \mathbf{G}_{d}(2,2) = \frac{ms^2 + cs + k - m \Omega^2}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2} \\ + \mathbf{G}_{d}(1,2) &= -\mathbf{G}_{d}(2,1) = \frac{2 m \Omega s}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2} +\end{align} +\end{subequations} + +To simplify the analysis, the undamped natural frequency \(\omega_0\) and the damping ratio \(\xi\) defined in \eqref{eq:rotating_xi_and_omega} are used instead. +The elements of the transfer function matrix \(\mathbf{G}_d\) are described by equation \eqref{eq:rotating_Gd_w0_xi_k}. +\begin{equation} \label{eq:rotating_xi_and_omega} + \omega_0 = \sqrt{\frac{k}{m}} \text{ in } \si{\radian\per\second}, \quad \xi = \frac{c}{2 \sqrt{k m}} +\end{equation} + +\begin{subequations} \label{eq:rotating_Gd_w0_xi_k} + \begin{align} + \mathbf{G}_{d}(1,1) &= \frac{\frac{1}{k} \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \\ + \mathbf{G}_{d}(1,2) &= \frac{\frac{1}{k} \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} + \end{align} +\end{subequations} + +\subsection{System Poles: Campbell Diagram} +The poles of \(\mathbf{G}_d\) are the complex solutions \(p\) of equation \eqref{eq:rotating_poles} (i.e. the roots of its denominator). + +\begin{equation}\label{eq:rotating_poles} + \left( \frac{p^2}{{\omega_0}^2} + 2 \xi \frac{p}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{p}{\omega_0} \right)^2 = 0 +\end{equation} + +Supposing small damping (\(\xi \ll 1\)), two pairs of complex conjugate poles \([p_{+}, p_{-}]\) are obtained as shown in equation \eqref{eq:rotating_pole_values}. + +\begin{subequations} \label{eq:rotating_pole_values} + \begin{align} + p_{+} &= - \xi \omega_0 \left( 1 + \frac{\Omega}{\omega_0} \right) \pm j \omega_0 \left( 1 + \frac{\Omega}{\omega_0} \right) \\ + p_{-} &= - \xi \omega_0 \left( 1 - \frac{\Omega}{\omega_0} \right) \pm j \omega_0 \left( 1 - \frac{\Omega}{\omega_0} \right) + \end{align} +\end{subequations} + +The real and complex parts of these two pairs of complex conjugate poles are represented in Figure \ref{fig:rotating_campbell_diagram} as a function of the rotational speed \(\Omega\). +As the rotational speed increases, \(p_{+}\) goes to higher frequencies and \(p_{-}\) goes to lower frequencies (Figure \ref{fig:rotating_campbell_diagram_imag}). +The system becomes unstable for \(\Omega > \omega_0\) as the real part of \(p_{-}\) is positive (Figure \ref{fig:rotating_campbell_diagram_real}). +Physically, the negative stiffness term \(-m\Omega^2\) induced by centrifugal forces exceeds the spring stiffness \(k\). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/rotating_campbell_diagram_real.png} +\end{center} +\subcaption{\label{fig:rotating_campbell_diagram_real}Real part} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/rotating_campbell_diagram_imag.png} +\end{center} +\subcaption{\label{fig:rotating_campbell_diagram_imag}Imaginary part} +\end{subfigure} +\caption{\label{fig:rotating_campbell_diagram}Campbell diagram - Real \subref{fig:rotating_campbell_diagram_real} and Imaginary \subref{fig:rotating_campbell_diagram_imag} parts of the poles as a function of the rotating velocity \(\Omega\).} +\end{figure} + +\subsection{System Dynamics: Effect of rotation} +The system dynamics from actuator forces \([F_u, F_v]\) to the relative motion \([d_u, d_v]\) is identified for several rotating velocities. +Looking at the transfer function matrix \(\mathbf{G}_d\) in equation \eqref{eq:rotating_Gd_w0_xi_k}, one can see that the two diagonal (direct) terms are equal and that the two off-diagonal (coupling) terms are opposite. +The bode plots of these two terms are shown in Figure \ref{fig:rotating_bode_plot} for several rotational speeds \(\Omega\). +These plots confirm the expected behavior: the frequencies of the two pairs of complex conjugate poles are further separated as \(\Omega\) increases. +For \(\Omega > \omega_0\), the low-frequency pair of complex conjugate poles \(p_{-}\) becomes unstable (shown be the 180 degrees phase lead instead of phase lag). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_bode_plot_direct.png} +\end{center} +\subcaption{\label{fig:rotating_bode_plot_direct}Direct terms: $d_u/F_u$, $d_v/F_v$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_bode_plot_coupling.png} +\end{center} +\subcaption{\label{fig:rotating_bode_plot_coupling}Coupling terms: $d_u/F_v$, $d_v/F_u$} +\end{subfigure} +\caption{\label{fig:rotating_bode_plot}Bode plot of the direct \subref{fig:rotating_bode_plot_direct} and coupling \subref{fig:rotating_bode_plot_direct} terms for several rotating velocities} \end{figure} \subsection{Integral Force Feedback} +\label{sec:rotating_iff_pure_int} +The goal is now to damp the two suspension modes of the payload using an active damping strategy while the rotating stage performs a constant rotation. +As was explained with the uniaxial model, such an active damping strategy is key to both reducing the magnification of the response in the vicinity of the resonances \cite{collette11_review_activ_vibrat_isolat_strat} and to make the plant easier to control for the high authority controller. +Many active damping techniques have been developed over the years, such as Positive Position Feedback (PPF) \cite{lin06_distur_atten_precis_hexap_point,fanson90_posit_posit_feedb_contr_large_space_struc}, Integral Force Feedback (IFF) \cite{preumont91_activ} and Direct Velocity Feedback (DVF) \cite{karnopp74_vibrat_contr_using_semi_activ_force_gener,serrand00_multic_feedb_contr_isolat_base_excit_vibrat,preumont02_force_feedb_versus_accel_feedb}. +In \cite{preumont91_activ}, the IFF control scheme has been proposed, where a force sensor, a force actuator, and an integral controller are used to increase the damping of a mechanical system. +When the force sensor is collocated with the actuator, the open-loop transfer function has alternating poles and zeros, which guarantees the stability of the closed-loop system \cite{preumont02_force_feedb_versus_accel_feedb}. +It was later shown that this property holds for multiple collated actuator/sensor pairs \cite{preumont08_trans_zeros_struc_contr_with}. + +The main advantages of IFF over other active damping techniques are the guaranteed stability even in the presence of flexible dynamics, good performance, and robustness properties \cite{preumont02_force_feedb_versus_accel_feedb}. + +Several improvements to the classical IFF have been proposed, such as adding a feed-through term to increase the achievable damping \cite{teo15_optim_integ_force_feedb_activ_vibrat_contr} or adding a high-pass filter to recover the loss of compliance at low-frequency \cite{chesne16_enhan_dampin_flexib_struc_using_force_feedb}. +Recently, an \(\mathcal{H}_\infty\) optimization criterion has been used to derive optimal gains for the IFF controller \cite{zhao19_optim_integ_force_feedb_contr}. \par + +However, none of these studies have been applied to rotating systems. +In this section, the \acrshort{iff} strategy is applied on the rotating suspended platform, and it is shown that gyroscopic effects alter the system dynamics and that IFF cannot be applied as is. + +\subsection{System and Equations of motion} +To apply Integral Force Feedback, two force sensors are added in series with the actuators (Figure \ref{fig:rotating_3dof_model_schematic_iff}). +Two identical controllers \(K_F\) described by \eqref{eq:rotating_iff_controller} are then used to feedback each of the sensed force to its associated actuator. + +\begin{equation}\label{eq:rotating_iff_controller} + K_{F}(s) = g \cdot \frac{1}{s} +\end{equation} + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_3dof_model_schematic_iff.png} +\end{center} +\subcaption{\label{fig:rotating_3dof_model_schematic_iff}System with added Force Sensor in series with the actuators} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/rotating_iff_diagram.png} +\end{center} +\subcaption{\label{fig:rotating_iff_diagram}Control diagram} +\end{subfigure} +\caption{\label{fig:rotating_iff_pure_int}Integral Force Feedback applied to the suspended rotating platform. The damper \(c\) in \subref{fig:rotating_3dof_model_schematic_iff} is omitted for readability.} +\end{figure} + +The forces \(\begin{bmatrix}f_u & f_v\end{bmatrix}\) measured by the two force sensors represented in Figure \ref{fig:rotating_3dof_model_schematic_iff} are described by equation \eqref{eq:rotating_measured_force}. + +\begin{equation}\label{eq:rotating_measured_force} + \begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} = + \begin{bmatrix} F_u \\ F_v \end{bmatrix} - (c s + k) + \begin{bmatrix} d_u \\ d_v \end{bmatrix} +\end{equation} + +The transfer function matrix \(\mathbf{G}_{f}\) from actuator forces to measured forces in equation \eqref{eq:rotating_Gf_mimo_tf} can be obtained by inserting equation \eqref{eq:rotating_Gd_w0_xi_k} into equation \eqref{eq:rotating_measured_force}. +Its elements are shown in equation \eqref{eq:rotating_Gf}. + +\begin{equation}\label{eq:rotating_Gf_mimo_tf} + \begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} = \mathbf{G}_{f} \begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} + +\begin{subequations}\label{eq:rotating_Gf} + \begin{align} + \mathbf{G}_{f}(1,1) &= \mathbf{G}_{f}(2,2) = \frac{\left( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} \right) \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right) + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \label{eq:rotating_Gf_diag_tf} \\ + \mathbf{G}_{f}(1,2) &= -\mathbf{G}_{f}(2,1) = \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \label{eq:rotating_Gf_off_diag_tf} + \end{align} +\end{subequations} + +The zeros of the diagonal terms of \(\mathbf{G}_f\) in equation \eqref{eq:rotating_Gf_diag_tf} are computed, and neglecting the damping for simplicity, two complex conjugated zeros \(z_{c}\) \eqref{eq:rotating_iff_zero_cc}, and two real zeros \(z_{r}\) \eqref{eq:rotating_iff_zero_real} are obtained. + +\begin{subequations} + \begin{align} + z_c &= \pm j \omega_0 \sqrt{\frac{1}{2} \sqrt{8 \frac{\Omega^2}{{\omega_0}^2} + 1} + \frac{\Omega^2}{{\omega_0}^2} + \frac{1}{2} } \label{eq:rotating_iff_zero_cc} \\ + z_r &= \pm \omega_0 \sqrt{\frac{1}{2} \sqrt{8 \frac{\Omega^2}{{\omega_0}^2} + 1} - \frac{\Omega^2}{{\omega_0}^2} - \frac{1}{2} } \label{eq:rotating_iff_zero_real} + \end{align} +\end{subequations} + +It is interesting to see that the frequency of the pair of complex conjugate zeros \(z_c\) in equation \eqref{eq:rotating_iff_zero_cc} always lies between the frequency of the two pairs of complex conjugate poles \(p_{-}\) and \(p_{+}\) in equation \eqref{eq:rotating_pole_values}. +This is what usually gives the unconditional stability of IFF when collocated force sensors are used. + +However, for non-null rotational speeds, the two real zeros \(z_r\) in equation \eqref{eq:rotating_iff_zero_real} are inducing a \emph{non-minimum phase behavior}. +This can be seen in the Bode plot of the diagonal terms (Figure \ref{fig:rotating_iff_bode_plot_effect_rot}) where the low-frequency gain is no longer zero while the phase stays at \(\SI{180}{\degree}\). + +The low-frequency gain of \(\mathbf{G}_f\) increases with the rotational speed \(\Omega\) as shown in equation \eqref{eq:rotating_low_freq_gain_iff_plan}. +This can be explained as follows: a constant actuator force \(F_u\) induces a small displacement of the mass \(d_u = \frac{F_u}{k - m\Omega^2}\) (Hooke's law considering the negative stiffness induced by the rotation). +This small displacement then increases the centrifugal force \(m\Omega^2d_u = \frac{\Omega^2}{{\omega_0}^2 - \Omega^2} F_u\) which is then measured by the force sensors. + +\begin{equation}\label{eq:rotating_low_freq_gain_iff_plan} + \lim_{\omega \to 0} \left| \mathbf{G}_f (j\omega) \right| = \begin{bmatrix} + \frac{\Omega^2}{{\omega_0}^2 - \Omega^2} & 0 \\ + 0 & \frac{\Omega^2}{{\omega_0}^2 - \Omega^2} +\end{bmatrix} +\end{equation} + +\subsection{Effect of rotation speed on IFF plant dynamics} +The transfer functions from actuator forces \([F_u,\ F_v]\) to the measured force sensors \([f_u,\ f_v]\) are identified for several rotating velocities and are shown in Figure \ref{fig:rotating_iff_bode_plot_effect_rot}. +As expected from the derived equations of motion: \begin{itemize} -\item Control diagram -\item Root Locus: unstable with pure IFF +\item when \(\Omega < \omega_0\): the low-frequency gain is no longer zero and two (non-minimum phase) real zeros appear at low-frequencies. +The low-frequency gain increases with \(\Omega\). +A pair of (minimum phase) complex conjugate zeros appears between the two complex conjugate poles, which are split further apart as \(\Omega\) increases. +\item when \(\omega_0 < \Omega\): the low-frequency pole becomes unstable. \end{itemize} -\subsection{IFF with an High Pass Filter} +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_bode_plot_effect_rot_direct.png} +\end{center} +\subcaption{\label{fig:rotating_iff_bode_plot_effect_rot_direct}Direct terms: $d_u/F_u$, $d_v/F_v$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/rotating_root_locus_iff_pure_int.png} +\end{center} +\subcaption{\label{fig:rotating_root_locus_iff_pure_int}Root Locus} +\end{subfigure} +\caption{\label{fig:rotating_iff_bode_plot_effect_rot}Effect of the rotation velocity on the bode plot of the direct terms \subref{fig:rotating_iff_bode_plot_effect_rot_direct} and on the IFF root locus \subref{fig:rotating_root_locus_iff_pure_int}} +\end{figure} + +\subsection{Decentralized Integral Force Feedback} +The control diagram for decentralized \acrshort{iff} is shown in Figure \ref{fig:rotating_iff_diagram}. +The decentralized \acrshort{iff} controller \(\bm{K}_F\) corresponds to a diagonal controller with integrators \eqref{eq:rotating_Kf_pure_int}. + +\begin{equation} \label{eq:rotating_Kf_pure_int} +\begin{aligned} + \mathbf{K}_{F}(s) &= \begin{bmatrix} K_{F}(s) & 0 \\ 0 & K_{F}(s) \end{bmatrix} \\ + K_{F}(s) &= g \cdot \frac{1}{s} +\end{aligned} +\end{equation} + +To determine how the \acrshort{iff} controller affects the poles of the closed-loop system, a Root Locus plot (Figure \ref{fig:rotating_root_locus_iff_pure_int}) is constructed as follows: the poles of the closed-loop system are drawn in the complex plane as the controller gain \(g\) varies from \(0\) to \(\infty\) for the two controllers \(K_{F}\) simultaneously. +As explained in \cite{preumont08_trans_zeros_struc_contr_with,skogestad07_multiv_feedb_contr}, the closed-loop poles start at the open-loop poles (shown by \(\tikz[baseline=-0.6ex] \node[cross out, draw=black, minimum size=1ex, line width=2pt, inner sep=0pt, outer sep=0pt] at (0, 0){};\)) for \(g = 0\) and coincide with the transmission zeros (shown by \(\tikz[baseline=-0.6ex] \draw[line width=2pt, inner sep=0pt, outer sep=0pt] (0,0) circle[radius=3pt];\)) as \(g \to \infty\). + +Whereas collocated IFF is usually associated with unconditional stability \cite{preumont91_activ}, this property is lost due to gyroscopic effects as soon as the rotation velocity becomes non-null. +This can be seen in the Root Locus plot (Figure \ref{fig:rotating_root_locus_iff_pure_int}) where poles corresponding to the controller are bound to the right half plane implying closed-loop system instability. +Physically, this can be explained as follows: at low frequencies, the loop gain is huge due to the pure integrator in \(K_{F}\) and the finite gain of the plant (Figure \ref{fig:rotating_iff_bode_plot_effect_rot}). +The control system is thus cancels the spring forces, which makes the suspended platform not capable to hold the payload against centrifugal forces, hence the instability. + +\subsection{Integral Force Feedback with a High-Pass Filter} +\label{sec:rotating_iff_pseudo_int} +As explained in the previous section, the instability of the IFF controller applied to the rotating system is due to the high gain of the integrator at low-frequency. +To limit the low-frequency controller gain, a \acrfull{hpf} can be added to the controller, as shown in equation \eqref{eq:rotating_iff_lhf}. +This is equivalent to slightly shifting the controller pole to the left along the real axis. +This modification of the IFF controller is typically performed to avoid saturation associated with the pure integrator \cite{preumont91_activ,marneffe07_activ_passiv_vibrat_isolat_dampin_shunt_trans}. +This is however not the reason why this high-pass filter is added here. + +\begin{equation}\label{eq:rotating_iff_lhf} + \boxed{K_{F}(s) = g \cdot \frac{1}{s} \cdot \underbrace{\frac{s/\omega_i}{1 + s/\omega_i}}_{\text{HPF}} = g \cdot \frac{1}{s + \omega_i}} +\end{equation} + +\subsection{Modified Integral Force Feedback Controller} +The Integral Force Feedback Controller is modified such that instead of using pure integrators, pseudo integrators (i.e. low pass filters) are used \eqref{eq:rotating_iff_lhf} where \(\omega_i\) characterize the frequency down to which the signal is integrated. +The loop gains (\(K_F(s)\) times the direct dynamics \(f_u/F_u\)) with and without the added HPF are shown in Figure \ref{fig:rotating_iff_modified_loop_gain}. +The effect of the added HPF limits the low-frequency gain to finite values as expected. + +The Root Locus plots for the decentralized \acrshort{iff} with and without the \acrshort{hpf} are displayed in Figure \ref{fig:rotating_iff_root_locus_hpf_large}. +With the added \acrshort{hpf}, the poles of the closed-loop system are shown to be stable up to some value of the gain \(g_\text{max}\) given by equation \eqref{eq:rotating_gmax_iff_hpf}. +It is interesting to note that \(g_{\text{max}}\) also corresponds to the controller gain at which the low-frequency loop gain reaches one (for instance the gain \(g\) can be increased by a factor \(5\) in Figure \ref{fig:rotating_iff_modified_loop_gain} before the system becomes unstable). + +\begin{equation}\label{eq:rotating_gmax_iff_hpf} + \boxed{g_{\text{max}} = \omega_i \left( \frac{{\omega_0}^2}{\Omega^2} - 1 \right)} +\end{equation} + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.8]{figs/rotating_iff_modified_loop_gain.png} +\end{center} +\subcaption{\label{fig:rotating_iff_modified_loop_gain}Loop gain} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.8]{figs/rotating_iff_root_locus_hpf_large.png} +\end{center} +\subcaption{\label{fig:rotating_iff_root_locus_hpf_large}Root Locus} +\end{subfigure} +\caption{\label{fig:rotating_iff_modified_loop_gain_root_locus}Comparison of the IFF with pure integrator and modified IFF with added high-pass filter (\(\Omega = 0.1\omega_0\)). The loop gain is shown in \subref{fig:rotating_iff_modified_loop_gain} with \(\omega_i = 0.1 \omega_0\) and \(g = 2\). The root locus is shown in \subref{fig:rotating_iff_root_locus_hpf_large}} +\end{figure} + +\subsection{Optimal IFF with HPF parameters \(\omega_i\) and \(g\)} +Two parameters can be tuned for the modified controller in equation \eqref{eq:rotating_iff_lhf}: the gain \(g\) and the pole's location \(\omega_i\). +The optimal values of \(\omega_i\) and \(g\) are considered here as the values for which the damping of all the closed-loop poles is simultaneously maximized. + +To visualize how \(\omega_i\) does affect the attainable damping, the Root Locus plots for several \(\omega_i\) are displayed in Figure \ref{fig:rotating_root_locus_iff_modified_effect_wi}. +It is shown that even though small \(\omega_i\) seem to allow more damping to be added to the suspension modes (see Root locus in Figure \ref{fig:rotating_root_locus_iff_modified_effect_wi}), the control gain \(g\) may be limited to small values due to equation \eqref{eq:rotating_gmax_iff_hpf}. +To study this trade-off, the attainable closed-loop damping ratio \(\xi_{\text{cl}}\) is computed as a function of \(\omega_i/\omega_0\). +The gain \(g_{\text{opt}}\) at which this maximum damping is obtained is also displayed and compared with the gain \(g_{\text{max}}\) at which the system becomes unstable (Figure \ref{fig:rotating_iff_hpf_optimal_gain}). + +For small values of \(\omega_i\), the added damping is limited by the maximum allowed control gain \(g_{\text{max}}\) (red curve and dashed red curve superimposed in Figure \ref{fig:rotating_iff_hpf_optimal_gain}) at which point the pole corresponding to the controller becomes unstable. +For larger values of \(\omega_i\), the attainable damping ratio decreases as a function of \(\omega_i\) as was predicted from the root locus plot of Figure \ref{fig:rotating_iff_root_locus_hpf_large}. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_root_locus_iff_modified_effect_wi.png} +\end{center} +\subcaption{\label{fig:rotating_root_locus_iff_modified_effect_wi}Root Locus} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_hpf_optimal_gain.png} +\end{center} +\subcaption{\label{fig:rotating_iff_hpf_optimal_gain}Attainable damping ratio $\xi_\text{cl}$ as a function of $\omega_i/\omega_0$. Corresponding control gain $g_\text{opt}$ and $g_\text{max}$ are also shown} +\end{subfigure} +\caption{\label{fig:rotating_iff_modified_effect_wi}Root Locus for several high-pass filter cut-off frequency \subref{fig:rotating_root_locus_iff_modified_effect_wi}. The achievable damping ratio decreases as \(\omega_i\) increases, as confirmed in \subref{fig:rotating_iff_hpf_optimal_gain}} +\end{figure} + +\subsection{Obtained Damped Plant} +To study how the parameter \(\omega_i\) affects the damped plant, the obtained damped plants for several \(\omega_i\) are compared in Figure \ref{fig:rotating_iff_hpf_damped_plant_effect_wi_plant}. +It can be seen that the low-frequency coupling increases as \(\omega_i\) increases. +Therefore, there is a trade-off between achievable damping and added coupling when tuning \(\omega_i\). +The same trade-off can be seen between achievable damping and loss of compliance at low-frequency (see Figure \ref{fig:rotating_iff_hpf_effect_wi_compliance}). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_hpf_damped_plant_effect_wi_plant.png} +\end{center} +\subcaption{\label{fig:rotating_iff_hpf_damped_plant_effect_wi_plant}Obtained plants} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_hpf_effect_wi_compliance.png} +\end{center} +\subcaption{\label{fig:rotating_iff_hpf_effect_wi_compliance}Effect of $\omega_i$ on the compliance} +\end{subfigure} +\caption{\label{fig:rotating_iff_hpf_damped_plant_effect_wi}Effect of \(\omega_i\) on the damped plant coupling} +\end{figure} \subsection{IFF with a stiffness in parallel with the force sensor} - -\subsection{Relative Damping Control} - -\subsection{Comparison of Active Damping Techniques} - -\subsection{Rotating Nano-Hexapod} - -\subsection{Nano Active Stabilization System with rotation} - -\subsection{Conclusion} - -\begin{itemize} -\item problem with voice coil actuator -\item Two solutions: add parallel stiffness, or change controller -\item Conclusion: minimum stiffness is required -\item APA is a nice architecture for parallel stiffness + integrated force sensor (have to speak about IFF before that) -\end{itemize} - -\section{Micro Station - Modal Analysis} -Conclusion: -\begin{itemize} -\item complex dynamics: need multi-body model of the micro-station to represent the limited compliance\ldots{} -\end{itemize} - -\subsection{Measurement Setup} - -\subsection{Frequency Analysis} - -\subsection{Modal Analysis} - -\section{Micro Station - Multi Body Model} +\label{sec:rotating_iff_parallel_stiffness} +In this section it is proposed to add springs in parallel with the force sensors to counteract the negative stiffness induced by the gyroscopic effects. +Such springs are schematically shown in Figure \ref{fig:rotating_3dof_model_schematic_iff_parallel_springs} where \(k_a\) is the stiffness of the actuator and \(k_p\) the added stiffness in parallel with the actuator and force sensor. \begin{figure}[htbp] \centering -\includegraphics[scale=1,width=0.7\linewidth]{figs/simscape_first_model_screenshot.jpg} -\caption{\label{fig:simscape_first_model_screenshot}3D view of the multi-body model of the micro-station} +\includegraphics[scale=1,scale=0.8]{figs/rotating_3dof_model_schematic_iff_parallel_springs.png} +\caption{\label{fig:rotating_3dof_model_schematic_iff_parallel_springs}Studied system with additional springs in parallel with the actuators and force sensors (shown in red)} \end{figure} -\subsection{Kinematics} +\subsection{Equations} +The forces measured by the two force sensors represented in Figure \ref{fig:rotating_3dof_model_schematic_iff_parallel_springs} are described by \eqref{eq:rotating_measured_force_kp}. -\url{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/kinematics.org} +\begin{equation}\label{eq:rotating_measured_force_kp} + \begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} = + \begin{bmatrix} F_u \\ F_v \end{bmatrix} - (c s + k_a) + \begin{bmatrix} d_u \\ d_v \end{bmatrix} +\end{equation} +To keep the overall stiffness \(k = k_a + k_p\) constant, thus not modifying the open-loop poles as \(k_p\) is changed, a scalar parameter \(\alpha\) (\(0 \le \alpha < 1\)) is defined to describe the fraction of the total stiffness in parallel with the actuator and force sensor as in \eqref{eq:rotating_kp_alpha}. + +\begin{equation}\label{eq:rotating_kp_alpha} + k_p = \alpha k, \quad k_a = (1 - \alpha) k +\end{equation} + +After the equations of motion are derived and transformed in the Laplace domain, the transfer function matrix \(\mathbf{G}_k\) in Eq. \eqref{eq:rotating_Gk_mimo_tf} is computed. +Its elements are shown in Eqs. \eqref{eq:rotating_Gk_diag} and \eqref{eq:rotating_Gk_off_diag}. + +\begin{equation}\label{eq:rotating_Gk_mimo_tf} + \begin{bmatrix} f_u \\ f_v \end{bmatrix} = + \mathbf{G}_k + \begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} + +\begin{subequations}\label{eq:rotating_Gk} +\begin{align} +\mathbf{G}_{k}(1,1) &= \mathbf{G}_{k}(2,2) = \frac{\big( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} + \alpha \big) \big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big) + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2}{\big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big)^2 + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2} \label{eq:rotating_Gk_diag} \\ +\mathbf{G}_{k}(1,2) &= -\mathbf{G}_{k}(2,1) = \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 - \alpha \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \label{eq:rotating_Gk_off_diag} +\end{align} +\end{subequations} + +Comparing \(\mathbf{G}_k\) in \eqref{eq:rotating_Gk} with \(\mathbf{G}_f\) in \eqref{eq:rotating_Gf} shows that while the poles of the system remain the same, the zeros of the diagonal terms change. +The two real zeros \(z_r\) in \eqref{eq:rotating_iff_zero_real} that were inducing a non-minimum phase behavior are transformed into two complex conjugate zeros if the condition in \eqref{eq:rotating_kp_cond_cc_zeros} holds. +Thus, if the added \emph{parallel stiffness} \(k_p\) is higher than the \emph{negative stiffness} induced by centrifugal forces \(m \Omega^2\), the dynamics from the actuator to its collocated force sensor will show \emph{minimum phase behavior}. + +\begin{equation}\label{eq:rotating_kp_cond_cc_zeros} + \boxed{\alpha > \frac{\Omega^2}{{\omega_0}^2} \quad \Leftrightarrow \quad k_p > m \Omega^2} +\end{equation} + +\subsection{Effect of parallel stiffness on the IFF plant} +The IFF plant (transfer function from \([F_u, F_v]\) to \([f_u, f_v]\)) is identified without parallel stiffness \(k_p = 0\), with a small parallel stiffness \(k_p < m \Omega^2\) and with a large parallel stiffness \(k_p > m \Omega^2\). +Bode plots of the obtained dynamics are shown in Figure \ref{fig:rotating_iff_effect_kp}. +The two real zeros for \(k_p < m \Omega^2\) are transformed into two complex conjugate zeros for \(k_p > m \Omega^2\). +In that case, the system shows alternating complex conjugate poles and zeros as what is the case in the non-rotating case. + +Figure \ref{fig:rotating_iff_kp_root_locus} shows the Root Locus plots for \(k_p = 0\), \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\) when \(K_F\) is a pure integrator, as shown in Eq. \eqref{eq:rotating_Kf_pure_int}. +It is shown that if the added stiffness is higher than the maximum negative stiffness, the poles of the closed-loop system are bounded on the (stable) left half-plane, and hence the unconditional stability of \acrshort{iff} is recovered. + +\begin{figure}[htbp] +\begin{subfigure}{0.55\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_effect_kp.png} +\end{center} +\subcaption{\label{fig:rotating_iff_effect_kp}Bode plot of $G_{k}(1,1) = f_u/F_u$ without parallel spring, with parallel spring stiffness $k_p < m \Omega^2$ and $k_p > m \Omega^2$, $\Omega = 0.1 \omega_0$} +\end{subfigure} +\begin{subfigure}{0.44\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_kp_root_locus.png} +\end{center} +\subcaption{\label{fig:rotating_iff_kp_root_locus}Root Locus for IFF without parallel spring, with small parallel spring and with large parallel spring} +\end{subfigure} +\caption{\label{fig:rotating_iff_plant_effect_kp}Effect of parallel stiffness on the IFF plant} +\end{figure} + +\subsection{Effect of \(k_p\) on the attainable damping} +Even though the parallel stiffness \(k_p\) has no impact on the open-loop poles (as the overall stiffness \(k\) is kept constant), it has a large impact on the transmission zeros. +Moreover, as the attainable damping is generally proportional to the distance between poles and zeros \cite{preumont18_vibrat_contr_activ_struc_fourt_edition}, the parallel stiffness \(k_p\) is expected to have some impact on the attainable damping. +To study this effect, Root Locus plots for several parallel stiffnesses \(k_p > m \Omega^2\) are shown in Figure \ref{fig:rotating_iff_kp_root_locus_effect_kp}. +The frequencies of the transmission zeros of the system increase with an increase in the parallel stiffness \(k_p\) (thus getting closer to the poles), and the associated attainable damping is reduced. +Therefore, even though the parallel stiffness \(k_p\) should be larger than \(m \Omega^2\) for stability reasons, it should not be taken too large as this would limit the attainable damping. +This is confirmed by the Figure \ref{fig:rotating_iff_kp_optimal_gain} where the attainable closed-loop damping ratio \(\xi_{\text{cl}}\) and the associated optimal control gain \(g_\text{opt}\) are computed as a function of the parallel stiffness. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/rotating_iff_kp_root_locus_effect_kp.png} +\end{center} +\subcaption{\label{fig:rotating_iff_kp_root_locus_effect_kp}Root Locus: Effect of parallel stiffness on the attainable damping, $\Omega = 0.1 \omega_0$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/rotating_iff_kp_optimal_gain.png} +\end{center} +\subcaption{\label{fig:rotating_iff_kp_optimal_gain}Attainable damping ratio $\xi_\text{cl}$ as a function of the parallel stiffness $k_p$. The corresponding control gain $g_\text{opt}$ is also shown. Values for $k_p < m\Omega^2$ are not shown because the system is unstable.} +\end{subfigure} +\caption{\label{fig:rotating_iff_optimal_kp}Effect of parallel stiffness on the IFF plant} +\end{figure} + +\subsection{Damped plant} +The parallel stiffness are chosen to be \(k_p = 2 m \Omega^2\) and the damped plant is computed. +The damped and undamped transfer functions from \(F_u\) to \(d_u\) are compared in Figure \ref{fig:rotating_iff_kp_added_hpf_damped_plant}. +Even though the two resonances are well damped, the IFF changes the low-frequency behavior of the plant, which is usually not desired. +This is because ``pure'' integrators are used which are inducing large low-frequency loop gains. + +To lower the low-frequency gain, a high-pass filter is added to the IFF controller (which is equivalent as shifting the controller pole to the left in the complex plane): +\begin{equation} + K_{\text{IFF}}(s) = g\frac{1}{\omega_i + s} \begin{bmatrix} + 1 & 0 \\ + 0 & 1 +\end{bmatrix} +\end{equation} + +To determine how the high-pass filter impacts the attainable damping, the controller gain \(g\) is kept constant while \(\omega_i\) is changed, and the minimum damping ratio of the damped plant is computed. +The obtained damping ratio as a function of \(\omega_i/\omega_0\) (where \(\omega_0\) is the resonance of the system without rotation) is shown in Figure \ref{fig:rotating_iff_kp_added_hpf_effect_damping}. +It is shown that the attainable damping ratio reduces as \(\omega_i\) is increased (same conclusion than in Section \ref{sec:rotating_iff_pseudo_int}). +Let's choose \(\omega_i = 0.1 \cdot \omega_0\) and compare the obtained damped plant again with the undamped and with the ``pure'' IFF in Figure \ref{fig:rotating_iff_kp_added_hpf_damped_plant}. +The added high-pass filter gives almost the same damping properties to the suspension while exhibiting good low-frequency behavior. + +\begin{figure}[htbp] +\begin{subfigure}{0.34\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.95]{figs/rotating_iff_kp_added_hpf_effect_damping.png} +\end{center} +\subcaption{\label{fig:rotating_iff_kp_added_hpf_effect_damping}Reduced damping ratio with increased cut-off frequency $\omega_i$} +\end{subfigure} +\begin{subfigure}{0.65\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.95]{figs/rotating_iff_kp_added_hpf_damped_plant.png} +\end{center} +\subcaption{\label{fig:rotating_iff_kp_added_hpf_damped_plant}Damped plant with the parallel stiffness, effect of the added HPF} +\end{subfigure} +\caption{\label{fig:rotating_iff_optimal_hpf}Effect of high-pass filter cut-off frequency on the obtained damping} +\end{figure} + +\subsection{Relative Damping Control} +\label{sec:rotating_relative_damp_control} +To apply a ``Relative Damping Control'' strategy, relative motion sensors are added in parallel with the actuators as shown in Figure \ref{fig:rotating_3dof_model_schematic_rdc}. +Two controllers \(K_d\) are used to feed back the relative motion to the actuator. +These controllers are in principle pure derivators (\(K_d = s\)), but to be implemented in practice they are usually replaced by a high-pass filter \eqref{eq:rotating_rdc_controller}. + +\begin{equation}\label{eq:rotating_rdc_controller} +K_d(s) = g \cdot \frac{s}{s + \omega_d} +\end{equation} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,scale=0.8]{figs/rotating_3dof_model_schematic_rdc.png} +\caption{\label{fig:rotating_3dof_model_schematic_rdc}System with relative motion sensor and decentralized ``relative damping control'' applied.} +\end{figure} + +\subsection{Equations of motion} +Let's note \(\bm{G}_d\) the transfer function between actuator forces and measured relative motion in parallel with the actuators \eqref{eq:rotating_rdc_plant_matrix}. +The elements of \(\bm{G}_d\) were derived in Section \ref{sec:rotating_system_description} are shown in \eqref{eq:rotating_rdc_plant_elements}. + +\begin{equation}\label{eq:rotating_rdc_plant_matrix} + \begin{bmatrix} d_u \\ d_v \end{bmatrix} = \mathbf{G}_d \begin{bmatrix} F_u \\ F_v \end{bmatrix} +\end{equation} + +\begin{subequations}\label{eq:rotating_rdc_plant_elements} + \begin{align} + \mathbf{G}_{d}(1,1) &= \mathbf{G}_{d}(2,2) = \frac{\frac{1}{k} \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} \\ + \mathbf{G}_{d}(1,2) &= -\mathbf{G}_{d}(2,1) = \frac{\frac{1}{k} \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} + \end{align} +\end{subequations} + +Neglecting the damping for simplicity (\(\xi \ll 1\)), the direct terms have two complex conjugate zeros between the two pairs of complex conjugate poles \eqref{eq:rotating_rdc_zeros_poles}. +Therefore, for \(\Omega < \sqrt{k/m}\) (i.e. stable system), the transfer functions for Relative Damping Control have alternating complex conjugate poles and zeros. + +\begin{equation}\label{eq:rotating_rdc_zeros_poles} + z = \pm j \sqrt{\omega_0^2 - \omega^2}, \quad p_1 = \pm j (\omega_0 - \omega), \quad p_2 = \pm j (\omega_0 + \omega) +\end{equation} + +\subsection{Decentralized Relative Damping Control} +The transfer functions from \([F_u,\ F_v]\) to \([d_u,\ d_v]\) were identified for several rotating velocities in Section \ref{sec:rotating_system_description} and are shown in Figure \ref{fig:rotating_bode_plot} (page \pageref{fig:rotating_bode_plot}). + +To see if large damping can be added with Relative Damping Control, the root locus is computed (Figure \ref{fig:rotating_rdc_root_locus}). +The closed-loop system is unconditionally stable as expected and the poles can be damped as much as desired. + +Let us select a reasonable ``Relative Damping Control'' gain, and compute the closed-loop damped system. +The open-loop and damped plants are compared in Figure \ref{fig:rotating_rdc_damped_plant}. +The rotating aspect does not add any complexity to the use of Relative Damping Control. +It does not increase the low-frequency coupling as compared to the Integral Force Feedback. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/rotating_rdc_root_locus.png} +\end{center} +\subcaption{\label{fig:rotating_rdc_root_locus}Root Locus for Relative Damping Control} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.8]{figs/rotating_rdc_damped_plant.png} +\end{center} +\subcaption{\label{fig:rotating_rdc_damped_plant}Damped plant using Relative Damping Control} +\end{subfigure} +\caption{\label{fig:rotating_rdc_result}Relative Damping Control. Root Locus \subref{fig:rotating_rdc_root_locus} and obtained damped plant \subref{fig:rotating_rdc_damped_plant}} +\end{figure} + +\subsection{Comparison of Active Damping Techniques} +\label{sec:rotating_comp_act_damp} +These two proposed IFF modifications and relative damping control are compared in terms of added damping and closed-loop behavior. +For the following comparisons, the cut-off frequency for the added HPF is set to \(\omega_i = 0.1 \omega_0\) and the stiffness of the parallel springs is set to \(k_p = 5 m \Omega^2\) (corresponding to \(\alpha = 0.05\)). +These values are chosen one the basis of previous discussions about optimal parameters. + +\subsection{Root Locus} +Figure \ref{fig:rotating_comp_techniques_root_locus} shows the Root Locus plots for the two proposed IFF modifications and the relative damping control. +While the two pairs of complex conjugate open-loop poles are identical for both IFF modifications, the transmission zeros are not. +This means that the closed-loop behavior of both systems will differ when large control gains are used. + +The closed-loop poles corresponding to the system with added springs (in red) are bounded to the left half plane implying unconditional stability. +This is not the case for the system in which the controller is augmented with an HPF (in blue). +It is interesting to note that the maximum added damping is very similar for both modified IFF techniques. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_comp_techniques_root_locus.png} +\end{center} +\subcaption{\label{fig:rotating_comp_techniques_root_locus}Root Locus} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_comp_techniques_dampled_plants.png} +\end{center} +\subcaption{\label{fig:rotating_comp_techniques_dampled_plants}Damped plants} +\end{subfigure} +\caption{\label{fig:rotating_comp_techniques}Comparison of active damping techniques for rotating platform} +\end{figure} + +\subsection{Obtained Damped Plant} +The actively damped plants are computed for the three techniques and compared in Figure \ref{fig:rotating_comp_techniques_dampled_plants}. +It is shown that while the diagonal (direct) terms of the damped plants are similar for the three active damping techniques, the off-diagonal (coupling) terms are not. +The \acrshort{iff} strategy is adding some coupling at low-frequency, which may negatively impact the positioning performance. + +\subsection{Transmissibility And Compliance} +The proposed active damping techniques are now compared in terms of closed-loop transmissibility and compliance. +The transmissibility is defined as the transfer function from the displacement of the rotating stage along \(\vec{i}_x\) to the displacement of the payload along the same direction. +It is used to characterize the amount of vibration is transmitted through the suspended platform to the payload. +The compliance describes the displacement response of the payload to the external forces applied to it. +This is a useful metric when disturbances are directly applied to the payload. +Here, it is defined as the transfer function from external forces applied on the payload along \(\vec{i}_x\) to the displacement of the payload along the same direction. + +Very similar results were obtained for the two proposed IFF modifications in terms of transmissibility and compliance (Figure \ref{fig:rotating_comp_techniques_trans_compliance}). +Using IFF degrades the compliance at low frequencies, whereas using relative damping control degrades the transmissibility at high frequencies. +This is very well known characteristics of these common active damping techniques that hold when applied to rotating platforms. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_comp_techniques_transmissibility.png} +\end{center} +\subcaption{\label{fig:rotating_comp_techniques_transmissibility}Transmissibility} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_comp_techniques_compliance.png} +\end{center} +\subcaption{\label{fig:rotating_comp_techniques_compliance}Compliance} +\end{subfigure} +\caption{\label{fig:rotating_comp_techniques_trans_compliance}Comparison of the obtained transmissibility \subref{fig:rotating_comp_techniques_transmissibility} and compliance \subref{fig:rotating_comp_techniques_compliance} for the three tested active damping techniques} +\end{figure} + +\subsection{Rotating Nano-Hexapod} +\label{sec:rotating_nano_hexapod} +The previous analysis is now applied to a model representing a rotating nano-hexapod. +Three nano-hexapod stiffnesses are tested as for the uniaxial model: \(k_n = \SI{0.01}{\N\per\mu\m}\), \(k_n = \SI{1}{\N\per\mu\m}\) and \(k_n = \SI{100}{\N\per\mu\m}\). +Only the maximum rotating velocity is here considered (\(\Omega = \SI{60}{rpm}\)) with the light sample (\(m_s = \SI{1}{kg}\)) because this is the worst identified case scenario in terms of gyroscopic effects. +\subsection{Nano-Active-Stabilization-System - Plant Dynamics} +For the NASS, the maximum rotating velocity is \(\Omega = \SI[parse-numbers=false]{2\pi}{\radian\per\s}\) for a suspended mass on top of the nano-hexapod's actuators equal to \(m_n + m_s = \SI{16}{\kilo\gram}\). +The parallel stiffness corresponding to the centrifugal forces is \(m \Omega^2 \approx \SI{0.6}{\newton\per\mm}\). + +The transfer functions from the nano-hexapod actuator force \(F_u\) to the displacement of the nano-hexapod in the same direction \(d_u\) as well as in the orthogonal direction \(d_v\) (coupling) are shown in Figure \ref{fig:rotating_nano_hexapod_dynamics} for all three considered nano-hexapod stiffnesses. +The soft nano-hexapod is the most affected by rotation. +This can be seen by the large shift of the resonance frequencies, and by the induced coupling, which is larger than that for the stiffer nano-hexapods. +The coupling (or interaction) in a MIMO \(2 \times 2\) system can be visually estimated as the ratio between the diagonal term and the off-diagonal terms (see corresponding Appendix). + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nano_hexapod_dynamics_vc.png} +\end{center} +\subcaption{\label{fig:rotating_nano_hexapod_dynamics_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nano_hexapod_dynamics_md.png} +\end{center} +\subcaption{\label{fig:rotating_nano_hexapod_dynamics_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nano_hexapod_dynamics_pz.png} +\end{center} +\subcaption{\label{fig:rotating_nano_hexapod_dynamics_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:rotating_nano_hexapod_dynamics}Effect of rotation on the nano-hexapod dynamics. Dashed lines represent plants without rotation, solid lines represent plants at maximum rotating velocity (\(\Omega = 60\,\text{rpm}\)), and shaded lines are coupling terms at maximum rotating velocity} +\end{figure} + +\subsection{Optimal IFF with a High-Pass Filter} +Integral Force Feedback with an added high-pass filter is applied to the three nano-hexapods. +First, the parameters (\(\omega_i\) and \(g\)) of the IFF controller that yield the best simultaneous damping are determined from Figure \ref{fig:rotating_iff_hpf_nass_optimal_gain}. +The IFF parameters are chosen as follows: \begin{itemize} -\item Small overview of each stage and associated stiffnesses / inertia -\item schematic that shows to considered DoF -\item import from CAD +\item for \(k_n = \SI{0.01}{\N\per\mu\m}\) (Figure \ref{fig:rotating_iff_hpf_nass_optimal_gain}): \(\omega_i\) is chosen such that maximum damping is achieved while the gain is less than half of the maximum gain at which the system is unstable. +This is done to have some control robustness. +\item for \(k_n = \SI{1}{\N\per\mu\m}\) and \(k_n = \SI{100}{\N\per\mu\m}\) (Figure \ref{fig:rotating_iff_hpf_nass_optimal_gain_md} and \ref{fig:rotating_iff_hpf_nass_optimal_gain_pz}): the largest \(\omega_i\) is chosen such that the obtained damping is \(\SI{95}{\percent}\) of the maximum achievable damping. +Large \(\omega_i\) is chosen here to limit the loss of compliance and the increase of coupling at low-frequency as shown in Section \ref{sec:rotating_iff_pseudo_int}. +\end{itemize} +The obtained IFF parameters and the achievable damping are visually shown by large dots in Figure \ref{fig:rotating_iff_hpf_nass_optimal_gain} and are summarized in Table \ref{tab:rotating_iff_hpf_opt_iff_hpf_params_nass}. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_hpf_nass_optimal_gain_vc.png} +\end{center} +\subcaption{\label{fig:rotating_iff_hpf_nass_optimal_gain_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_hpf_nass_optimal_gain_md.png} +\end{center} +\subcaption{\label{fig:rotating_iff_hpf_nass_optimal_gain_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_iff_hpf_nass_optimal_gain_pz.png} +\end{center} +\subcaption{\label{fig:rotating_iff_hpf_nass_optimal_gain_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:rotating_iff_hpf_nass_optimal_gain}For each value of \(\omega_i\), the maximum damping ratio \(\xi\) is computed (blue), and the corresponding controller gain is shown (in red). The chosen controller parameters used for further analysis are indicated by the large dots.} +\end{figure} + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.4\linewidth}{Xccc} +\toprule +\(k_n\) & \(\omega_i\) & \(g\) & \(\xi_\text{opt}\)\\ +\midrule +\(0.01\,N/\mu m\) & 7.3 & 51 & 0.45\\ +\(1\,N/\mu m\) & 39 & 427 & 0.93\\ +\(100\,N/\mu m\) & 500 & 3775 & 0.94\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:rotating_iff_hpf_opt_iff_hpf_params_nass}Obtained optimal parameters (\(\omega_i\) and \(g\)) for the modified IFF controller including a high-pass filter. The corresponding achievable simultaneous damping of the two modes \(\xi\) is also shown.} + +\end{table} + +\subsection{Optimal IFF with Parallel Stiffness} +For each considered nano-hexapod stiffness, the parallel stiffness \(k_p\) is varied from \(k_{p,\text{min}} = m\Omega^2\) (the minimum stiffness that yields unconditional stability) to \(k_{p,\text{max}} = k_n\) (the total nano-hexapod stiffness). +To keep the overall stiffness constant, the actuator stiffness \(k_a\) is decreased when \(k_p\) is increased (\(k_a = k_n - k_p\), with \(k_n\) the total nano-hexapod stiffness). +A high-pass filter is also added to limit the low-frequency gain with a cut-off frequency \(\omega_i\) equal to one tenth of the system resonance (\(\omega_i = \omega_0/10\)). + +The achievable maximum simultaneous damping of all the modes is computed as a function of the parallel stiffnesses (Figure \ref{fig:rotating_iff_kp_nass_optimal_gain}). +It is shown that the soft nano-hexapod cannot yield good damping because the parallel stiffness cannot be sufficiently large compared to the negative stiffness induced by the rotation. +For the two stiff options, the achievable damping decreases when the parallel stiffness is too high, as explained in Section \ref{sec:rotating_iff_parallel_stiffness}. +Such behavior can be explained by the fact that the achievable damping can be approximated by the distance between the open-loop pole and the open-loop zero \cite[chapt 7.2]{preumont18_vibrat_contr_activ_struc_fourt_edition}. +This distance is larger for stiff nano-hexapod because the open-loop pole will be at higher frequencies while the open-loop zero, whereas depends on the value of the parallel stiffness, can only be made large for stiff nano-hexapods. + +Let's choose \(k_p = 1\,N/mm\), \(k_p = 0.01\,N/\mu m\) and \(k_p = 1\,N/\mu m\) for the three considered nano-hexapods. +The corresponding optimal controller gains and achievable damping are summarized in Table \ref{tab:rotating_iff_kp_opt_iff_kp_params_nass}. + +\begin{minipage}[t]{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/rotating_iff_kp_nass_optimal_gain.png} +\captionof{figure}{\label{fig:rotating_iff_kp_nass_optimal_gain}Maximum damping \(\xi\) as a function of the parallel stiffness \(k_p\)} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.45\textwidth} +\begin{center} +\begin{tabularx}{\linewidth}{Xccc} +\toprule +\(k_n\) & \(k_p\) & \(g\) & \(\xi_{\text{opt}}\)\\ +\midrule +\(0.01\,N/\mu m\) & \(1\,N/mm\) & 47.9 & 0.44\\ +\(1\,N/\mu m\) & \(0.01\,N/\mu m\) & 465.57 & 0.97\\ +\(100\,N/\mu m\) & \(1\,N/\mu m\) & 4624.25 & 0.99\\ +\bottomrule +\end{tabularx} +\captionof{table}{\label{tab:rotating_iff_kp_opt_iff_kp_params_nass}Obtained optimal parameters for the IFF controller when using parallel stiffnesses} + +\end{center} +\end{minipage} + +\subsection{Optimal Relative Motion Control} +For each considered nano-hexapod stiffness, relative damping control is applied and the achievable damping ratio as a function of the controller gain is computed (Figure \ref{fig:rotating_rdc_optimal_gain}). +The gain is chosen such that 99\% of modal damping is obtained (obtained gains are summarized in Table \ref{tab:rotating_rdc_opt_params_nass}). + +\begin{minipage}[t]{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/rotating_rdc_optimal_gain.png} +\captionof{figure}{\label{fig:rotating_rdc_optimal_gain}Maximum damping \(\xi\) as a function of the RDC gain \(g\)} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.45\textwidth} +\begin{center} +\begin{tabularx}{0.8\linewidth}{Xcc} +\toprule +\(k_n\) & \(g\) & \(\xi_{\text{opt}}\)\\ +\midrule +\(0.01\,N/\mu m\) & 1600 & 0.99\\ +\(1\,N/\mu m\) & 8200 & 0.99\\ +\(100\,N/\mu m\) & 80000 & 0.99\\ +\bottomrule +\end{tabularx} +\captionof{table}{\label{tab:rotating_rdc_opt_params_nass}Obtained optimal parameters for the RDC} + +\end{center} +\end{minipage} + +\subsection{Comparison of the obtained damped plants} +Now that the optimal parameters for the three considered active damping techniques have been determined, the obtained damped plants are computed and compared in Figure \ref{fig:rotating_nass_damped_plant_comp}. + +Similar to what was concluded in the previous analysis: +\begin{itemize} +\item \acrshort{iff} adds more coupling below the resonance frequency as compared to the open-loop and \acrshort{rdc} cases +\item All three methods yield good damping, except for \acrshort{iff} applied on the soft nano-hexapod +\item Coupling is smaller for stiff nano-hexapods \end{itemize} -\subsection{Modal Analysis and Dynamic Modeling} +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_damped_plant_comp_vc.png} +\end{center} +\subcaption{\label{fig:rotating_nass_damped_plant_comp_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_damped_plant_comp_md.png} +\end{center} +\subcaption{\label{fig:rotating_nass_damped_plant_comp_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_damped_plant_comp_pz.png} +\end{center} +\subcaption{\label{fig:rotating_nass_damped_plant_comp_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:rotating_nass_damped_plant_comp}Comparison of the damped plants for the three proposed active damping techniques (IFF with HPF in blue, IFF with \(k_p\) in red and RDC in yellow). The direct terms are shown by solid lines, and the coupling terms are shown by the shaded lines. Three nano-hexapod stiffnesses are considered. For this analysis the rotating velocity is \(\Omega = 60\,\text{rpm}\) and the suspended mass is \(m_n + m_s = \SI{16}{\kg}\).} +\end{figure} + +\subsection{Nano-Active-Stabilization-System with rotation} +\label{sec:rotating_nass} +Until now, the model used to study gyroscopic effects consisted of an infinitely stiff rotating stage with a X-Y suspended stage on top. +While quite simplistic, this allowed us to study the effects of rotation and the associated limitations when active damping is to be applied. +In this section, the limited compliance of the micro-station is considered as well as the rotation of the spindle. +\subsection{Nano Active Stabilization System model} +To have a more realistic dynamics model of the NASS, the 2-DoF nano-hexapod (modeled as shown in Figure \ref{fig:rotating_3dof_model_schematic}) is now located on top of a model of the micro-station including (see Figure \ref{fig:rotating_nass_model} for a 3D view): \begin{itemize} -\item Picture of the experimental setup -\item Location of accelerometers -\item Show obtained modes -\item Validation of rigid body assumption -\item Explain how this helps tuning the multi-body model +\item the floor whose motion is imposed +\item a 2-DoF granite (\(k_{g,x} = k_{g,y} = \SI{950}{\N\per\mu\m}\), \(m_g = \SI{2500}{\kg}\)) +\item a 2-DoF \(T_y\) stage (\(k_{t,x} = k_{t,y} = \SI{520}{\N\per\mu\m}\), \(m_t = \SI{600}{\kg}\)) +\item a spindle (vertical rotation) stage whose rotation is imposed (\(m_s = \SI{600}{\kg}\)) +\item a 2-DoF micro-hexapod (\(k_{h,x} = k_{h,y} = \SI{61}{\N\per\mu\m}\), \(m_h = \SI{15}{\kg}\)) \end{itemize} -\subsection{Disturbances and Positioning errors} +A payload is rigidly fixed to the nano-hexapod and the \(x,y\) motion of the payload is measured with respect to the granite. -\subsection{Validation of the Model} +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,scale=0.7]{figs/rotating_nass_model.png} +\caption{\label{fig:rotating_nass_model}3D view of the Nano-Active-Stabilization-System model.} +\end{figure} +\subsection{System dynamics} + +The dynamics of the undamped and damped plants are identified using the optimal parameters found in Section \ref{sec:rotating_nano_hexapod}. +The obtained dynamics are compared in Figure \ref{fig:rotating_nass_plant_comp_stiffness} in which the direct terms are shown by the solid curves and the coupling terms are shown by the shaded ones. +It can be observed that: \begin{itemize} -\item Most important metric: support compliance -\item Compare model and measurement +\item The coupling (quantified by the ratio between the off-diagonal and direct terms) is higher for the soft nano-hexapod +\item Damping added using the three proposed techniques is quite high, and the obtained plant is rather easy to control +\item There is some coupling between nano-hexapod and micro-station dynamics for the stiff nano-hexapod (mode at 200Hz) +\item The two proposed IFF modifications yield similar results \end{itemize} +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_plant_comp_stiffness_vc.png} +\end{center} +\subcaption{\label{fig:rotating_nass_plant_comp_stiffness_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_plant_comp_stiffness_md.png} +\end{center} +\subcaption{\label{fig:rotating_nass_plant_comp_stiffness_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_plant_comp_stiffness_pz.png} +\end{center} +\subcaption{\label{fig:rotating_nass_plant_comp_stiffness_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:rotating_nass_plant_comp_stiffness}Bode plot of the transfer function from nano-hexapod actuator to measured motion by the external metrology} +\end{figure} + +\subsection{Effect of disturbances} + +The effect of three disturbances are considered (as for the uniaxial model), floor motion \([x_{f,x},\ x_{f,y}]\) (Figure \ref{fig:rotating_nass_effect_floor_motion}), micro-Station vibrations \([f_{t,x},\ f_{t,y}]\) (Figure \ref{fig:rotating_nass_effect_stage_vibration}) and direct forces applied on the sample \([f_{s,x},\ f_{s,y}]\) (Figure \ref{fig:rotating_nass_effect_direct_forces}). +Note that only the transfer functions from the disturbances in the \(x\) direction to the relative position \(d_x\) between the sample and the granite in the \(x\) direction are displayed because the transfer functions in the \(y\) direction are the same due to the system symmetry. + +Conclusions are similar than those of the uniaxial (non-rotating) model: +\begin{itemize} +\item Regarding the effect of floor motion and forces applied on the payload: +\begin{itemize} +\item The stiffer, the better. This can be seen in Figures \ref{fig:rotating_nass_effect_floor_motion} and \ref{fig:rotating_nass_effect_direct_forces} where the magnitudes for the stiff hexapod are lower than those for the soft one +\item \acrshort{iff} degrades the performance at low-frequency compared to \acrshort{rdc} +\end{itemize} +\item Regarding the effect of micro-station vibrations: +\begin{itemize} +\item Having a soft nano-hexapod allows filtering of these vibrations between the suspension modes of the nano-hexapod and some flexible modes of the micro-station. Using relative damping control reduces this filtering (Figure \ref{fig:rotating_nass_effect_stage_vibration_vc}). +\end{itemize} +\end{itemize} + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_floor_motion_vc.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_floor_motion_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_floor_motion_md.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_floor_motion_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_floor_motion_pz.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_floor_motion_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:rotating_nass_effect_floor_motion}Effect of floor motion \(x_{f,x}\) on the position error \(d_x\) - Comparison of active damping techniques for the three nano-hexapod stiffnesses. IFF is shown to increase the sensitivity to floor motion at low-frequency.} +\end{figure} + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_stage_vibration_vc.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_stage_vibration_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_stage_vibration_md.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_stage_vibration_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_stage_vibration_pz.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_stage_vibration_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:rotating_nass_effect_stage_vibration}Effect of micro-station vibrations \(f_{t,x}\) on the position error \(d_x\) - Comparison of active damping techniques for the three nano-hexapod stiffnesses. Relative Damping Control increases the sensitivity to micro-station vibrations between the soft nano-hexapod suspension modes and the micro-station modes \subref{fig:rotating_nass_effect_stage_vibration_vc}} +\end{figure} + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_direct_forces_vc.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_direct_forces_vc}$k_n = 0.01\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_direct_forces_md.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_direct_forces_md}$k_n = 1\,N/\mu m$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/rotating_nass_effect_direct_forces_pz.png} +\end{center} +\subcaption{\label{fig:rotating_nass_effect_direct_forces_pz}$k_n = 100\,N/\mu m$} +\end{subfigure} +\caption{\label{fig:rotating_nass_effect_direct_forces}Effect of sample forces \(f_{s,x}\) on the position error \(d_x\) - Comparison of active damping techniques for the three nano-hexapod stiffnesses. Integral Force Feedback degrades this compliance at low-frequency.} +\end{figure} + +\subsection*{Conclusion} +In this study, the gyroscopic effects induced by the spindle's rotation have been studied using a simplified model (Section \ref{sec:rotating_system_description}). +Decentralized \acrlong{iff} with pure integrators was shown to be unstable when applied to rotating platforms (Section \ref{sec:rotating_iff_pure_int}). +Two modifications of the classical \acrshort{iff} control have been proposed to overcome this issue. + +The first modification concerns the controller and consists of adding a high-pass filter to the pure integrators. +This is equivalent to moving the controller pole to the left along the real axis. +This allows the closed-loop system to be stable up to some value of the controller gain (Section \ref{sec:rotating_iff_pseudo_int}). + +The second proposed modification concerns the mechanical system. +Additional springs are added in parallel with the actuators and force sensors. +It was shown that if the stiffness \(k_p\) of the additional springs is larger than the negative stiffness \(m \Omega^2\) induced by centrifugal forces, the classical decentralized \acrshort{iff} regains its unconditional stability property (Section \ref{sec:rotating_iff_parallel_stiffness}). + +These two modifications were compared with \acrlong{rdc} in Section \ref{sec:rotating_comp_act_damp}. +While having very different implementations, both proposed modifications were found to be very similar with respect to the attainable damping and the obtained closed-loop system behavior. + +This study has been applied to a rotating platform that corresponds to the nano-hexapod parameters (Section \ref{sec:rotating_nano_hexapod}). +As for the uniaxial model, three nano-hexapod stiffnesses values were considered. +The dynamics of the soft nano-hexapod (\(k_n = 0.01\,N/\mu m\)) was shown to be more depend more on the rotation velocity (higher coupling and change of dynamics due to gyroscopic effects). +In addition, the attainable damping ratio of the soft nano-hexapod when using \acrshort{iff} is limited by gyroscopic effects. + +To be closer to the \acrlong{nass} dynamics, the limited compliance of the micro-station has been considered (Section \ref{sec:rotating_nass}). +Results are similar to those of the uniaxial model except that come complexity is added for the soft nano-hexapod due to the spindle's rotation. +For the moderately stiff nano-hexapod (\(k_n = 1\,N/\mu m\)), the gyroscopic effects only slightly affect the system dynamics, and therefore could represent a good alternative to the soft nano-hexapod that showed better results with the uniaxial model. + +\section{Micro Station - Modal Analysis} +To further improve the accuracy of the performance predictions, a model that better represents the micro-station dynamics is required. +A multi-body model consisting of several rigid bodies connected by kinematic constraints (i.e. joints), springs and damper elements is a good candidate to model the micro-station. + +Although the inertia of each solid body can easily be estimated from its geometry and material density, it is more difficult to properly estimate the stiffness and damping properties of the guiding elements connecting each solid body. +Experimental modal analysis will be used to tune the model, and to verify that a multi-body model can accurately represent the dynamics of the micro-station. + +The tuning approach for the multi-body model based on measurements is illustrated in Figure \ref{fig:modal_vibration_analysis_procedure}. +First, a \emph{response model} is obtained, which corresponds to a set of frequency response functions computed from experimental measurements. +From this response model, the modal model can be computed, which consists of two matrices: one containing the natural frequencies and damping factors of the considered modes, and another describing the mode shapes. +This modal model can then be used to tune the spatial model (i.e. the multi-body model), that is, to tune the mass of the considering solid bodies and the springs and dampers connecting the solid bodies. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/modal_vibration_analysis_procedure.png} +\caption{\label{fig:modal_vibration_analysis_procedure}Three models of the same structure. The goal is to tune a spatial model (i.e. mass, stiffness and damping properties) from a response model. The modal model can be used as an intermediate step.} +\end{figure} + +The measurement setup used to obtain the response model is described in Section \ref{sec:modal_meas_setup}. +This includes the instrumentation used (i.e. instrumented hammer, accelerometers and acquisition system), test planing, and a first analysis of the obtained signals. + +In Section \ref{sec:modal_frf_processing}, the obtained frequency response functions between the forces applied by the instrumented hammer and the accelerometers fixed to the structure are computed. +These measurements are projected at the center of mass of each considered solid body to facilitate the further use of the results. +The solid body assumption is then verified, validating the use of the multi-body model. + +Finally, the modal analysis is performed in Section \ref{sec:modal_analysis}. +This shows how complex the micro-station dynamics is, and the necessity of having a model representing its complex dynamics. + + +\subsection{Measurement Setup} +\label{sec:modal_meas_setup} +In order to perform an experimental modal analysis, a suitable measurement setup is essential. +This includes using appropriate instrumentation (presented in Section \ref{ssec:modal_instrumentation}) and properly preparing the structure to be measured (Section \ref{ssec:modal_test_preparation}). +Then, the locations of the measured motions (Section \ref{ssec:modal_accelerometers}) and the locations of the hammer impacts (Section \ref{ssec:modal_hammer_impacts}) have to be chosen carefully. +The obtained force and acceleration signals are described in Section \ref{ssec:modal_measured_signals}, and the quality of the measured data is assessed. +\subsection{Used Instrumentation} +\label{ssec:modal_instrumentation} + +Three type of equipment are essential for a good modal analysis. +First, \emph{accelerometers} are used to measure the response of the structure. +Here, 3-axis accelerometers\footnote{PCB 356B18. Sensitivity is \(1\,V/g\), measurement range is \(\pm 5\,g\) and bandwidth is \(0.5\) to \(5\,\text{kHz}\).} shown in figure \ref{fig:modal_accelero_M393B05} are used. +These accelerometers were glued to the micro-station using a thin layer of wax for best results \cite[chapt. 3.5.7]{ewins00_modal}. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/modal_accelero_M393B05.jpg} +\end{center} +\subcaption{\label{fig:modal_accelero_M393B05}3-axis accelerometer} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/modal_instrumented_hammer.jpg} +\end{center} +\subcaption{\label{fig:modal_instrumented_hammer}Instrumented hammer} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/modal_oros.jpg} +\end{center} +\subcaption{\label{fig:modal_oros}OROS acquisition system} +\end{subfigure} +\caption{\label{fig:modal_analysis_instrumentation}Instrumentation used for the modal analysis} +\end{figure} + +Then, an \emph{instrumented hammer}\footnote{Kistler 9722A2000. Sensitivity of \(2.3\,mV/N\) and measurement range of \(2\,kN\)} (figure \ref{fig:modal_instrumented_hammer}) is used to apply forces to the structure in a controlled manner. +Tests were conducted to determine the most suitable hammer tip (ranging from a metallic one to a soft plastic one). +The softer tip was found to give best results as it injects more energy in the low-frequency range where the coherence was low, such that the overall coherence was improved. + +Finally, an \emph{acquisition system}\footnote{OROS OR36. 24bits signal-delta ADC.} (figure \ref{fig:modal_oros}) is used to acquire the injected force and response accelerations in a synchronized manner and with sufficiently low noise. + +\subsection{Structure Preparation and Test Planing} +\label{ssec:modal_test_preparation} + +To obtain meaningful results, the modal analysis of the micro-station in performed \emph{in-situ}. +To do so, all the micro-station stage controllers are turned ``ON''. +This is especially important for stages for which the stiffness is provided by local feedback control, such as the air bearing spindle, and the translation stage. +If these local feedback controls were turned OFF, this would have resulted in very low-frequency modes that were difficult to measure in practice, and it would also have led to decoupled dynamics, which would not be the case in practice. + +The top part representing the active stabilization stage was disassembled as the active stabilization stage will be added in the multi-body model afterwards. + +To perform the modal analysis from the measured responses, the \(n \times n\) frequency response function matrix \(\mathbf{H}\) needs to be measured, where \(n\) is the considered number of degrees of freedom. +The \(H_{jk}\) element of this \acrfull{frf} matrix corresponds to the frequency response function from a force \(F_k\) applied at \acrfull{dof} \(k\) to the displacement of the structure \(X_j\) at \acrshort{dof} \(j\). +Measuring this \acrshort{frf} matrix is time consuming as it requires to make \(n \times n\) measurements. +However, due to the principle of reciprocity (\(H_{jk} = H_{kj}\)) and using the \emph{point measurement} (\(H_{jj}\)), it is possible to reconstruct the full matrix by measuring only one column or one line of the matrix \(\mathbf{H}\) \cite[chapt. 5.2]{ewins00_modal}. +Therefore, a minimum set of \(n\) frequency response functions is required. +This can be done either by measuring the response \(X_{j}\) at a fixed \acrshort{dof} \(j\) while applying forces \(F_{i}\) for at all \(n\) considered \acrshort{dof}, or by applying a force \(F_{k}\) at a fixed \acrshort{dof} \(k\) and measuring the response \(X_{i}\) for all \(n\) \acrshort{dof}. + +It is however not advised to measure only one row or one column, as one or more modes may be missed by an unfortunate choice of force or acceleration measurement location (for instance if the force is applied at a vibration node of a particular mode). +In this modal analysis, it is chosen to measure the response of the structure at all considered \acrshort{dof}, and to excite the structure at one location in three directions in order to have some redundancy, and to ensure that all modes are properly identified. + +\subsection{Location of the Accelerometers} +\label{ssec:modal_accelerometers} + +The location of the accelerometers fixed to the micro-station is essential because it defines where the dynamics is measured. +A total of 23 accelerometers were fixed to the six key stages of the micro station: the lower and upper granites, the translation stage, the tilt stage, the spindle and the micro hexapod. +The positions of the accelerometers are visually shown on a CAD model in Figure \ref{fig:modal_location_accelerometers} and their precise locations with respect to a frame located at the point of interest are summarized in Table \ref{tab:modal_position_accelerometers}. +Pictures of the accelerometers fixed to the translation stage and to the micro-hexapod are shown in Figure \ref{fig:modal_accelerometer_pictures}. + +As all key stages of the micro-station are expected to behave as solid bodies, only 6 \acrshort{dof} can be considered for each solid body. +However, it was chosen to use four 3-axis accelerometers (i.e. 12 measured \acrshort{dof}) for each considered solid body to have some redundancy and to be able to verify the solid body assumption (see Section \ref{ssec:modal_solid_body_assumption}). + +\begin{minipage}[b]{0.63\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/modal_location_accelerometers.png} +\captionof{figure}{\label{fig:modal_location_accelerometers}Position of the accelerometers} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.36\textwidth} +\begin{scriptsize} +\centering +\begin{tabularx}{\linewidth}{Xccc} +\toprule + & \(x\) & \(y\) & \(z\)\\ +\midrule +(17) Low. Granite & -730 & -526 & -951\\ +(18) Low. Granite & -735 & 814 & -951\\ +(19) Low. Granite & 875 & 799 & -951\\ +(20) Low. Granite & 865 & -506 & -951\\ +(13) Up. Granite & -320 & -446 & -786\\ +(14) Up. Granite & -480 & 534 & -786\\ +(15) Up. Granite & 450 & 534 & -786\\ +(16) Up. Granite & 295 & -481 & -786\\ +(9) Translation & -475 & -414 & -427\\ +(10) Translation & -465 & 407 & -427\\ +(11) Translation & 475 & 424 & -427\\ +(12) Translation & 475 & -419 & -427\\ +(5) Tilt & -385 & -300 & -417\\ +(6) Tilt & -420 & 280 & -417\\ +(7) Tilt & 420 & 280 & -417\\ +(8) Tilt & 380 & -300 & -417\\ +(21) Spindle & -155 & -90 & -594\\ +(22) Spindle & 0 & 180 & -594\\ +(23) Spindle & 155 & -90 & -594\\ +(1) Hexapod & -64 & -64 & -270\\ +(2) Hexapod & -64 & 64 & -270\\ +(3) Hexapod & 64 & 64 & -270\\ +(4) Hexapod & 64 & -64 & -270\\ +\bottomrule +\end{tabularx} +\captionof{table}{\label{tab:modal_position_accelerometers}Positions in mm} +\end{scriptsize} +\end{minipage} + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/modal_accelerometers_ty.jpg} +\end{center} +\subcaption{\label{fig:modal_accelerometers_ty} $T_y$ stage} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/modal_accelerometers_hexapod.jpg} +\end{center} +\subcaption{\label{fig:modal_accelerometers_hexapod} Micro-Hexapod} +\end{subfigure} +\caption{\label{fig:modal_accelerometer_pictures}Accelerometers fixed on the micro-station stages} +\end{figure} + +\subsection{Hammer Impacts} +\label{ssec:modal_hammer_impacts} + +The selected location of the hammer impact corresponds to the location of accelerometer number \(11\) fixed to the translation stage. +It was chosen to match the location of one accelerometer, because a \emph{point measurement} (i.e. a measurement of \(H_{kk}\)) is necessary to be able to reconstruct the full \acrshort{frf} matrix \cite{ewins00_modal}. + +The impacts were performed in three directions, as shown in figures \ref{fig:modal_impact_x}, \ref{fig:modal_impact_y} and \ref{fig:modal_impact_z}. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.8\linewidth]{figs/modal_impact_x.jpg} +\end{center} +\subcaption{\label{fig:modal_impact_x} $X$ impact} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.8\linewidth]{figs/modal_impact_y.jpg} +\end{center} +\subcaption{\label{fig:modal_impact_y} $Y$ impact} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.8\linewidth]{figs/modal_impact_z.jpg} +\end{center} +\subcaption{\label{fig:modal_impact_z} $Z$ impact} +\end{subfigure} +\caption{\label{fig:modal_hammer_impacts}The three hammer impacts used for the modal analysis} +\end{figure} + +\subsection{Force and Response signals} +\label{ssec:modal_measured_signals} + +The force sensor of the instrumented hammer and the accelerometer signals are shown in the time domain in Figure \ref{fig:modal_raw_meas}. +Sharp ``impacts'' can be observed for the force sensor, indicating wide frequency band excitation. +For the accelerometer, a much more complex signal can be observed, indicating complex dynamics. + +The ``normalized'' \acrfull{asd} of the two signals were computed and shown in Figure \ref{fig:modal_asd_acc_force}. +Conclusions based on the time domain signals can be clearly observed in the frequency domain (wide frequency content for the force signal and complex dynamics for the accelerometer). +These data are corresponding to an hammer impact in the vertical direction and to the measured acceleration in the \(x\) direction by accelerometer \(1\) (fixed to the micro-hexapod). +Similar results were obtained for all measured frequency response functions. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/modal_raw_meas.png} +\end{center} +\subcaption{\label{fig:modal_raw_meas}Time domain signals} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/modal_asd_acc_force.png} +\end{center} +\subcaption{\label{fig:modal_asd_acc_force}Amplitude Spectral Density (normalized)} +\end{subfigure} +\caption{\label{fig:modal_raw_meas_asd}Raw measurement of the accelerometer 1 in the \(x\) direction (blue) and of the force sensor at the Hammer tip (red) for an impact in the \(z\) direction \subref{fig:modal_raw_meas}. Computed Amplitude Spectral Densities of the two signals (normalized) \subref{fig:modal_asd_acc_force}} +\end{figure} + +The frequency response function from the applied force to the measured acceleration is then computed and shown Figure \ref{fig:modal_frf_acc_force}. +The quality of the obtained data can be estimated using the \emph{coherence} function (Figure \ref{fig:modal_coh_acc_force}). +Good coherence is obtained from \(20\,\text{Hz}\) to \(200\,\text{Hz}\) which corresponds to the frequency range of interest. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/modal_frf_acc_force.png} +\end{center} +\subcaption{\label{fig:modal_frf_acc_force} Frequency Response Function} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/modal_coh_acc_force.png} +\end{center} +\subcaption{\label{fig:modal_coh_acc_force} Coherence} +\end{subfigure} +\caption{\label{fig:modal_frf_coh_acc_force}Computed frequency response function from the applied force \(F_{z}\) to the measured response \(X_{1,x}\) \subref{fig:modal_frf_acc_force} as well as computed coherence \subref{fig:modal_coh_acc_force}} +\end{figure} + +\subsection{Frequency Analysis} +\label{sec:modal_frf_processing} +After all measurements are conducted, a \(n \times p \times q\) \acrlongpl{frf} matrix can be computed with: +\begin{itemize} +\item \(n = 69\): number of output measured acceleration (23 3-axis accelerometers) +\item \(p = 3\): number of input force excitation +\item \(q = 801\): number of frequency points \(\omega_{i}\) +\end{itemize} + +For each frequency point \(\omega_{i}\), a 2D complex matrix is obtained that links the 3 force inputs to the 69 output accelerations \eqref{eq:modal_frf_matrix_raw}. + +\begin{equation}\label{eq:modal_frf_matrix_raw} + \mathbf{H}(\omega_i) = \begin{bmatrix} + \frac{D_{1_x}}{F_x}(\omega_i) & \frac{D_{1_x}}{F_y}(\omega_i) & \frac{D_{1_x}}{F_z}(\omega_i) \\ + \frac{D_{1_y}}{F_x}(\omega_i) & \frac{D_{1_y}}{F_y}(\omega_i) & \frac{D_{1_y}}{F_z}(\omega_i) \\ + \frac{D_{1_z}}{F_x}(\omega_i) & \frac{D_{1_z}}{F_y}(\omega_i) & \frac{D_{1_z}}{F_z}(\omega_i) \\ + \frac{D_{2_x}}{F_x}(\omega_i) & \frac{D_{2_x}}{F_y}(\omega_i) & \frac{D_{2_x}}{F_z}(\omega_i) \\ + \vdots & \vdots & \vdots \\ + \frac{D_{23_z}}{F_x}(\omega_i) & \frac{D_{23_z}}{F_y}(\omega_i) & \frac{D_{23_z}}{F_z}(\omega_i) \\ +\end{bmatrix} +\end{equation} + +However, for the multi-body model being developed, only 6 solid bodies are considered, namely: the bottom granite, the top granite, the translation stage, the tilt stage, the spindle and the micro-hexapod. +Therefore, only \(6 \times 6 = 36\) degrees of freedom are of interest. +Therefore, the objective of this section is to to process the Frequency Response Matrix to reduce the number of measured \acrshort{dof} from 69 to 36. + +The coordinate transformation from accelerometers \acrshort{dof} to the solid body 6 \acrshortpl{dof} (three translations and three rotations) is performed in Section \ref{ssec:modal_acc_to_solid_dof}. +The \(69 \times 3 \times 801\) frequency response matrix is then reduced to a \(36 \times 3 \times 801\) frequency response matrix where the motion of each solid body is expressed with respect to its center of mass. + +To validate this reduction of \acrshort{dof} and the solid body assumption, the frequency response function at the accelerometer location are ``reconstructed'' from the reduced frequency response matrix and are compared with the initial measurements in Section \ref{ssec:modal_solid_body_assumption}. +\subsection{From accelerometer DOFs to solid body DOFs} +\label{ssec:modal_acc_to_solid_dof} + +Let us consider the schematic shown in Figure \ref{fig:modal_local_to_global_coordinates} where the motion of a solid body is measured at 4 distinct locations (in \(x\), \(y\) and \(z\) directions). +The goal here is to link these \(4 \times 3 = 12\) measurements to the 6 \acrshort{dof} of the solid body expressed in the frame \(\{O\}\). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/modal_local_to_global_coordinates.png} +\caption{\label{fig:modal_local_to_global_coordinates}Schematic of the measured motions of a solid body} +\end{figure} + +The motion of the rigid body of figure \ref{fig:modal_local_to_global_coordinates} can be described by its displacement \(\vec{\delta}p = [\delta p_x,\ \delta p_y,\ \delta p_z]\) and (small) rotations \([\delta \Omega_x,\ \delta \Omega_y,\ \delta \Omega_z]\) with respect to the reference frame \(\{O\}\). + +The motion \(\vec{\delta} p_{i}\) of a point \(p_i\) can be computed from \(\vec{\delta} p\) and \(\bm{\delta \Omega}\) using equation \eqref{eq:modal_compute_point_response}, with \(\bm{\delta\Omega}\) defined in equation \eqref{eq:modal_rotation_matrix} \cite[chapt. 4.3.2]{ewins00_modal}. + +\begin{equation}\label{eq:modal_compute_point_response} + \vec{\delta} p_{i} &= \vec{\delta} p + \bm{\delta \Omega} \cdot \vec{p}_{i} \\ +\end{equation} + +\begin{equation}\label{eq:modal_rotation_matrix} + \bm{\delta\Omega} = \begin{bmatrix} + 0 & -\delta\Omega_z & \delta\Omega_y \\ + \delta\Omega_z & 0 & -\delta\Omega_x \\ + -\delta\Omega_y & \delta\Omega_x & 0 +\end{bmatrix} +\end{equation} + +Writing this in matrix form for the four points gives \eqref{eq:modal_cart_to_acc}. + +\begin{equation}\label{eq:modal_cart_to_acc} +\left[\begin{array}{c} + \delta p_{1x} \\ \delta p_{1y} \\ \delta p_{1z} \\\hline \vdots \\\hline \delta p_{4x} \\ \delta p_{4y} \\ \delta p_{4z} +\end{array}\right] = +\left[\begin{array}{ccc|ccc} + 1 & 0 & 0 & 0 & p_{1z} & -p_{1y} \\ + 0 & 1 & 0 & -p_{1z} & 0 & p_{1x} \\ + 0 & 0 & 1 & p_{1y} & -p_{1x} & 0 \\ \hline + & \vdots & & & \vdots & \\ \hline + 1 & 0 & 0 & 0 & p_{4z} & -p_{4y} \\ + 0 & 1 & 0 & -p_{4z} & 0 & p_{4x} \\ + 0 & 0 & 1 & p_{4y} & -p_{4x} & 0 +\end{array}\right] \left[\begin{array}{c} + \delta p_x \\ \delta p_y \\ \delta p_z \\ \hline \delta\Omega_x \\ \delta\Omega_y \\ \delta\Omega_z +\end{array}\right] +\end{equation} + +Provided that the four sensors are properly located, the system of equation \eqref{eq:modal_cart_to_acc} can be solved by matrix inversion\footnote{As this matrix is in general non-square, the Moore–Penrose inverse can be used instead.}. +The motion of the solid body expressed in a chosen frame \(\{O\}\) can be determined using equation \eqref{eq:modal_determine_global_disp}. +Note that this matrix inversion is equivalent to resolving a mean square problem. +Therefore, having more accelerometers permits better approximation of the motion of a solid body. + +\begin{equation} +\left[\begin{array}{c} + \delta p_x \\ \delta p_y \\ \delta p_z \\ \hline \delta\Omega_x \\ \delta\Omega_y \\ \delta\Omega_z +\end{array}\right] = +\left[\begin{array}{ccc|ccc} + 1 & 0 & 0 & 0 & p_{1z} & -p_{1y} \\ + 0 & 1 & 0 & -p_{1z} & 0 & p_{1x} \\ + 0 & 0 & 1 & p_{1y} & -p_{1x} & 0 \\ \hline + & \vdots & & & \vdots & \\ \hline + 1 & 0 & 0 & 0 & p_{4z} & -p_{4y} \\ + 0 & 1 & 0 & -p_{4z} & 0 & p_{4x} \\ + 0 & 0 & 1 & p_{4y} & -p_{4x} & 0 +\end{array}\right]^{-1} \left[\begin{array}{c} + \delta p_{1x} \\ \delta p_{1y} \\ \delta p_{1z} \\\hline \vdots \\\hline \delta p_{4x} \\ \delta p_{4y} \\ \delta p_{4z} +\end{array}\right] \label{eq:modal_determine_global_disp} +\end{equation} + +From the CAD model, the position of the center of mass of each considered solid body is computed (see Table \ref{tab:modal_com_solid_bodies}). +The position of each accelerometer with respect to the center of mass of the corresponding solid body can easily be determined. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.55\linewidth}{Xccc} +\toprule + & \(X\) & \(Y\) & \(Z\)\\ +\midrule +Bottom Granite & \(45\,\text{mm}\) & \(144\,\text{mm}\) & \(-1251\,\text{mm}\)\\ +Top granite & \(52\,\text{mm}\) & \(258\,\text{mm}\) & \(-778\,\text{mm}\)\\ +Translation stage & \(0\) & \(14\,\text{mm}\) & \(-600\,\text{mm}\)\\ +Tilt Stage & \(0\) & \(-5\,\text{mm}\) & \(-628\,\text{mm}\)\\ +Spindle & \(0\) & \(0\) & \(-580\,\text{mm}\)\\ +Hexapod & \(-4\,\text{mm}\) & \(6\,\text{mm}\) & \(-319\,\text{mm}\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:modal_com_solid_bodies}Center of mass of considered solid bodies with respect to the ``point of interest''} + +\end{table} + +Using \eqref{eq:modal_determine_global_disp}, the frequency response matrix \(\mathbf{H}_\text{CoM}\) \eqref{eq:modal_frf_matrix_com} expressing the response at the center of mass of each solid body \(D_i\) (\(i\) from \(1\) to \(6\) for the \(6\) considered solid bodies) can be computed from the initial \acrshort{frf} matrix \(\mathbf{H}\). + +\begin{equation}\label{eq:modal_frf_matrix_com} + \mathbf{H}_\text{CoM}(\omega_i) = \begin{bmatrix} + \frac{D_{1,T_x}}{F_x}(\omega_i) & \frac{D_{1,T_x}}{F_y}(\omega_i) & \frac{D_{1,T_x}}{F_z}(\omega_i) \\ + \frac{D_{1,T_y}}{F_x}(\omega_i) & \frac{D_{1,T_y}}{F_y}(\omega_i) & \frac{D_{1,T_y}}{F_z}(\omega_i) \\ + \frac{D_{1,T_z}}{F_x}(\omega_i) & \frac{D_{1,T_z}}{F_y}(\omega_i) & \frac{D_{1,T_z}}{F_z}(\omega_i) \\ + \frac{D_{1,R_x}}{F_x}(\omega_i) & \frac{D_{1,R_x}}{F_y}(\omega_i) & \frac{D_{1,R_x}}{F_z}(\omega_i) \\ + \frac{D_{1,R_y}}{F_x}(\omega_i) & \frac{D_{1,R_y}}{F_y}(\omega_i) & \frac{D_{1,R_y}}{F_z}(\omega_i) \\ + \frac{D_{1,R_z}}{F_x}(\omega_i) & \frac{D_{1,R_z}}{F_y}(\omega_i) & \frac{D_{1,R_z}}{F_z}(\omega_i) \\ + \frac{D_{2,T_x}}{F_x}(\omega_i) & \frac{D_{2,T_x}}{F_y}(\omega_i) & \frac{D_{2,T_x}}{F_z}(\omega_i) \\ + \vdots & \vdots & \vdots \\ + \frac{D_{6,R_z}}{F_x}(\omega_i) & \frac{D_{6,R_z}}{F_y}(\omega_i) & \frac{D_{6,R_z}}{F_z}(\omega_i) +\end{bmatrix} +\end{equation} + +\subsection{Verification of solid body assumption} +\label{ssec:modal_solid_body_assumption} + +From the response of one solid body expressed by its 6 \acrshortpl{dof} (i.e. from \(\mathbf{H}_{\text{CoM}}\)), and using equation \eqref{eq:modal_cart_to_acc}, it is possible to compute the response of the same solid body at any considered location. +In particular, the responses at the locations of the four accelerometers can be computed and compared with the original measurements \(\mathbf{H}\). +This is what is done here to check whether the solid body assumption is correct in the frequency band of interest. + +The comparison is made for the 4 accelerometers fixed on the micro-hexapod (Figure \ref{fig:modal_comp_acc_solid_body_frf}). +The original frequency response functions and those computed from the CoM responses match well in the frequency range of interest. +Similar results were obtained for the other solid bodies, indicating that the solid body assumption is valid and that a multi-body model can be used to represent the dynamics of the micro-station. +This also validates the reduction in the number of degrees of freedom from 69 (23 accelerometers with each 3 \acrshort{dof}) to 36 (6 solid bodies with 6 \acrshort{dof}). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/modal_comp_acc_solid_body_frf.png} +\caption{\label{fig:modal_comp_acc_solid_body_frf}Comparaison of the original accelerometer response (solid curves) and the reconstructed response from the solid body response (dashed curves). Accelerometers 1 to 4 corresponding to the micro-hexapod are shown.} +\end{figure} + +\subsection{Modal Analysis} +\label{sec:modal_analysis} +The goal here is to extract the modal parameters describing the modes of the micro station being studied, namely, the natural frequencies and the modal damping (i.e. the eigenvalues) as well as the mode shapes (.i.e. the eigenvectors). +This is performed from the \acrshort{frf} matrix previously extracted from the measurements. + +In order to perform the modal parameter extraction, the order of the modal model has to be estimated (i.e. the number of modes in the frequency band of interest). +This is achived using the \acrfull{mif} in section \ref{ssec:modal_number_of_modes}. + +In section \ref{ssec:modal_parameter_extraction}, the modal parameter extraction is performed. +The graphical display of the mode shapes can be computed from the modal model, which is quite quite useful for physical interpretation of the modes. + +To validate the quality of the modal model, the full \acrshort{frf} matrix is computed from the modal model and compared to the initial measured \acrshort{frf} (section \ref{ssec:modal_model_validity}). +\subsection{Number of modes determination} +\label{ssec:modal_number_of_modes} +The \acrshort{mif} is here applied to the \(n\times p\) \acrshort{frf} matrix where \(n\) is a relatively large number of measurement DOFs (here \(n=69\)) and \(p\) is the number of excitation DOFs (here \(p=3\)). + +The complex modal indication function is defined in equation \eqref{eq:modal_cmif} where the diagonal matrix \(\Sigma\) is obtained from a \acrlong{svd} of the \acrshort{frf} matrix as shown in equation \eqref{eq:modal_svd}. +\begin{equation} \label{eq:modal_cmif} + [CMIF(\omega)]_{p\times p} = [\Sigma(\omega)]_{p\times n}^T [\Sigma(\omega)]_{n\times p} +\end{equation} + +\begin{equation} \label{eq:modal_svd} +[H(\omega)]_{n\times p} = [U(\omega)]_{n\times n} [\Sigma(\omega)]_{n\times p} [V(\omega)]_{p\times p}^H +\end{equation} + +The \acrshort{mif} therefore yields to \(p\) values that are also frequency dependent. +A peak in the \acrshort{mif} plot indicates the presence of a mode. +Repeated modes can also be detected when multiple singular values have peaks at the same frequency. +The obtained \acrshort{mif} is shown on Figure \ref{fig:modal_indication_function}. +A total of 16 modes were found between 0 and \(200\,\text{Hz}\). +The obtained natural frequencies and associated modal damping are summarized in Table \ref{tab:modal_obtained_modes_freqs_damps}. + +\begin{minipage}[b]{0.70\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/modal_indication_function.png} +\captionof{figure}{\label{fig:modal_indication_function}Modal Indication Function} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.28\textwidth} +\begin{scriptsize} +\centering +\begin{tabularx}{\linewidth}{ccc} +\toprule +Mode & Frequency & Damping\\ +\midrule +1 & \(11.9\,\text{Hz}\) & \(12.2\,\%\)\\ +2 & \(18.6\,\text{Hz}\) & \(11.7\,\%\)\\ +3 & \(37.8\,\text{Hz}\) & \(6.2\,\%\)\\ +4 & \(39.1\,\text{Hz}\) & \(2.8\,\%\)\\ +5 & \(56.3\,\text{Hz}\) & \(2.8\,\%\)\\ +6 & \(69.8\,\text{Hz}\) & \(4.3\,\%\)\\ +7 & \(72.5\,\text{Hz}\) & \(1.3\,\%\)\\ +8 & \(84.8\,\text{Hz}\) & \(3.7\,\%\)\\ +9 & \(91.3\,\text{Hz}\) & \(2.9\,\%\)\\ +10 & \(105.5\,\text{Hz}\) & \(3.2\,\%\)\\ +11 & \(106.6\,\text{Hz}\) & \(1.6\,\%\)\\ +12 & \(112.7\,\text{Hz}\) & \(3.1\,\%\)\\ +13 & \(124.2\,\text{Hz}\) & \(2.8\,\%\)\\ +14 & \(145.3\,\text{Hz}\) & \(1.3\,\%\)\\ +15 & \(150.5\,\text{Hz}\) & \(2.4\,\%\)\\ +16 & \(165.4\,\text{Hz}\) & \(1.4\,\%\)\\ +\bottomrule +\end{tabularx} +\captionof{table}{\label{tab:modal_obtained_modes_freqs_damps}Identified modes} +\end{scriptsize} +\end{minipage} + +\subsection{Modal parameter extraction} +\label{ssec:modal_parameter_extraction} + +Generally, modal identification consists of curve-fitting a theoretical expression to the actual measured \acrshort{frf} data. +However, there are multiple levels of complexity, from fitting of a single resonance, to fitting a complete curve encompassing several resonances and working on a set of many \acrshort{frf} plots all obtained from the same structure. + +Here, the last method is used because it provides a unique and consistent model. +It takes into account the fact that the properties of all individual curves are related by being from the same structure: all \acrshort{frf} plots on a given structure should indicate the same values for the natural frequencies and damping factor of each mode. + +From the obtained modal parameters, the mode shapes are computed and can be displayed in the form of animations (three mode shapes are shown in Figure \ref{fig:modal_mode_animations}). + +\begin{figure} +\begin{subfigure}{\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/modal_mode1_animation.jpg} +\end{center} +\subcaption{\label{fig:modal_mode1_animation}$1^{st}$ mode at 11.9 Hz: tilt suspension mode of the granite} +\end{subfigure} +\begin{subfigure}{\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/modal_mode6_animation.jpg} +\end{center} +\subcaption{\label{fig:modal_mode6_animation}$6^{th}$ mode at 69.8 Hz: vertical resonance of the spindle} +\end{subfigure} +\begin{subfigure}{\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/modal_mode13_animation.jpg} +\end{center} +\subcaption{\label{fig:modal_mode13_animation}$13^{th}$ mode at 124.2 Hz: lateral micro-hexapod resonance} +\end{subfigure} +\caption{\label{fig:modal_mode_animations}Three obtained mode shape animations} +\end{figure} + +These animations are useful for visually obtaining a better understanding of the system's dynamic behavior. +For instance, the mode shape of the first mode at \(11\,\text{Hz}\) (figure \ref{fig:modal_mode1_animation}) indicates an issue with the lower granite. +It turns out that four \emph{Airloc Levelers} are used to level the lower granite (figure \ref{fig:modal_airloc}). +These are difficult to adjust and can lead to a situation in which the granite is only supported by two of them; therefore, it has a low frequency ``tilt mode''. +The levelers were then better adjusted. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.6\linewidth]{figs/modal_airlock_picture.jpg} +\caption{\label{fig:modal_airloc}AirLoc used for the granite (2120-KSKC)} +\end{figure} + +The modal parameter extraction is made using a proprietary software\footnote{NVGate software from OROS company.}. +For each mode \(r\) (from \(1\) to the number of considered modes \(m=16\)), it outputs the frequency \(\omega_r\), the damping ratio \(\xi_r\), the eigenvectors \(\{\phi_{r}\}\) (vector of complex numbers with a size equal to the number of measured \acrshort{dof} \(n=69\), see equation \eqref{eq:modal_eigenvector}) and a scaling factor \(a_r\). + +\begin{equation}\label{eq:modal_eigenvector} +\{\phi_i\} = \begin{Bmatrix} \phi_{i, 1_x} & \phi_{i, 1_y} & \phi_{i, 1_z} & \phi_{i, 2_x} & \dots & \phi_{i, 23_z} \end{Bmatrix}^T +\end{equation} + +The eigenvalues \(s_r\) and \(s_r^*\) can then be computed from equation \eqref{eq:modal_eigenvalues}. + +\begin{equation}\label{eq:modal_eigenvalues} + s_r = \omega_r (-\xi_r + i \sqrt{1 - \xi_r^2}), \quad s_r^* = \omega_r (-\xi_r - i \sqrt{1 - \xi_r^2}) +\end{equation} + +\subsection{Verification of the modal model validity} +\label{ssec:modal_model_validity} + +To check the validity of the modal model, the complete \(n \times n\) \acrshort{frf} matrix \(\mathbf{H}_{\text{syn}}\) is first synthesized from the modal parameters. +Then, the elements of this \acrshort{frf} matrix \(\mathbf{H}_{\text{syn}}\) that were already measured can be compared to the measured \acrshort{frf} matrix \(\mathbf{H}\). + +In order to synthesize the full \acrshort{frf} matrix, the eigenvectors \(\phi_r\) are first organized in matrix from as shown in equation \eqref{eq:modal_eigvector_matrix}. +\begin{equation}\label{eq:modal_eigvector_matrix} +\Phi = \begin{bmatrix} + & & & & &\\ + \phi_1 & \dots & \phi_N & \phi_1^* & \dots & \phi_N^* \\ + & & & & & +\end{bmatrix}_{n \times 2m} +\end{equation} + +The full \acrshort{frf} matrix \(\mathbf{H}_{\text{syn}}\) can be synthesize using \eqref{eq:modal_synthesized_frf}. + +\begin{equation}\label{eq:modal_synthesized_frf} + [\mathbf{H}_{\text{syn}}(\omega)]_{n\times n} = [\Phi]_{n\times2m} [\mathbf{H}_{\text{mod}}(\omega)]_{2m\times2m} [\Phi]_{2m\times n}^T +\end{equation} + +With \(\mathbf{H}_{\text{mod}}(\omega)\) a diagonal matrix representing the response of the different modes \eqref{eq:modal_modal_resp}. +\begin{equation}\label{eq:modal_modal_resp} +\mathbf{H}_{\text{mod}}(\omega) = \text{diag}\left(\frac{1}{a_1 (j\omega - s_1)},\ \dots,\ \frac{1}{a_m (j\omega - s_m)}, \frac{1}{a_1^* (j\omega - s_1^*)},\ \dots,\ \frac{1}{a_m^* (j\omega - s_m^*)} \right)_{2m\times 2m} +\end{equation} + +A comparison between original measured frequency response functions and synthesized ones from the modal model is presented in Figure \ref{fig:modal_comp_acc_frf_modal}. +Whether the obtained match is good or bad is quite arbitrary. +However, the modal model seems to be able to represent the coupling between different nodes and different directions, which is quite important from a control perspective. +This can be seen in Figure \ref{fig:modal_comp_acc_frf_modal_3} that shows the frequency response function from the force applied on node 11 (i.e. on the translation stage) in the \(y\) direction to the measured acceleration at node \(2\) (i.e. at the top of the micro-hexapod) in the \(x\) direction. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/modal_comp_acc_frf_modal_1.png} +\end{center} +\subcaption{\label{fig:modal_comp_acc_frf_modal_1}From $F_{11,z}$ to $a_{11,z}$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/modal_comp_acc_frf_modal_2.png} +\end{center} +\subcaption{\label{fig:modal_comp_acc_frf_modal_2}From $F_{11,z}$ to $a_{15,z}$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/modal_comp_acc_frf_modal_3.png} +\end{center} +\subcaption{\label{fig:modal_comp_acc_frf_modal_3}From $F_{11,y}$ to $a_{2,x}$} +\end{subfigure} +\caption{\label{fig:modal_comp_acc_frf_modal}Comparison of the measured FRF with the synthesized FRF from the modal model.} +\end{figure} + +\subsection{Conclusion} +\label{sec:modal_conclusion} + +In this study, a modal analysis of the micro-station was performed. +Thanks to an adequate choice of instrumentation and proper set of measurements, high quality frequency response functions can be obtained. +The obtained frequency response functions indicate that the dynamics of the micro-station are complex, which is expected from a heavy stack stage architecture. +It shows a lot of coupling between stages and different directions, and many modes. + +By measuring 12 degrees of freedom on each ``stage'', it could be verified that in the frequency range of interest, each stage behaved as a rigid body. +This confirms that a multi-body model can be used to properly model the micro-station. + +Although a lot of effort was put into this experimental modal analysis of the micro-station, it was difficult to obtain an accurate modal model. +However, the measurements are useful for tuning the parameters of the micro-station multi-body model. + +\section{Micro Station - Multi Body Model} +From the start of this work, it became increasingly clear that an accurate micro-station model was necessary. + +First, during the uniaxial study, it became clear that the micro-station dynamics affects the nano-hexapod dynamics. +Then, using the 3-DoF rotating model, it was discovered that the rotation of the nano-hexapod induces gyroscopic effects that affect the system dynamics and should therefore be modeled. +Finally, a modal analysis of the micro-station showed how complex the dynamics of the station is. +The modal analysis also confirm that each stage behaves as a rigid body in the frequency range of interest. +Therefore, a multi-body model is a good candidate to accurately represent the micro-station dynamics. + +In this report, the development of such a multi-body model is presented. + +First, each stage of the micro-station is described. +The kinematics of the micro-station (i.e. how the motion of the stages are combined) is presented in Section \ref{sec:ustation_kinematics}. + +Then, the multi-body model is presented and tuned to match the measured dynamics of the micro-station (Section \ref{sec:ustation_modeling}). + +Disturbances affecting the positioning accuracy also need to be modeled properly. +To do so, the effects of these disturbances were first measured experimental and then injected into the multi-body model (Section \ref{sec:ustation_disturbances}). + +To validate the accuracy of the micro-station model, ``real world'' experiments are simulated and compared with measurements in Section \ref{sec:ustation_experiments}. + + +\subsection{Micro-Station Kinematics} +\label{sec:ustation_kinematics} +The micro-station consists of 4 stacked positioning stages (Figure \ref{fig:ustation_cad_view}). +From bottom to top, the stacked stages are the translation stage \(D_y\), the tilt stage \(R_y\), the rotation stage (Spindle) \(R_z\) and the positioning hexapod. +Such a stacked architecture allows high mobility, but the overall stiffness is reduced, and the dynamics is very complex. complex dynamics. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/ustation_cad_view.png} +\caption{\label{fig:ustation_cad_view}CAD view of the micro-station with the translation stage (in blue), tilt stage (in red), rotation stage (in yellow) and positioning hexapod (in purple). On top of these four stages, a solid part (shown in green) will be replaced by the stabilization stage.} +\end{figure} + +There are different ways of modeling the stage dynamics in a multi-body model. +The one chosen in this work consists of modeling each stage by two solid bodies connected by one 6-DoF joint. +The stiffness and damping properties of the joint +s can be tuned separately for each DoF. + +The ``controlled'' DoF of each stage (for instance the \(D_y\) direction for the translation stage) is modeled as infinitely rigid (i.e. its motion is imposed by a ``setpoint'') while the other DoFs have limited stiffness to model the different micro-station modes. +\subsection{Motion Stages} +\label{ssec:ustation_stages} + +\paragraph{Translation Stage} + +The translation stage is used to position and scan the sample laterally with respect to the X-ray beam. + +A linear motor was first used to enable fast and accurate scans. +It was later replaced with a stepper motor and lead-screw, as the feedback control used for the linear motor was unreliable\footnote{It was probably caused by rust of the linear guides along its stroke.}. +An optical linear encoder is used to measure the stage motion and for controlling the position. + +Four cylindrical bearings\footnote{Ball cage (N501) and guide bush (N550) from Mahr are used.} are used to guide the motion (i.e. minimize the parasitic motions) and have high stiffness. + +\paragraph{Tilt Stage} + +The tilt stage is guided by four linear motion guides\footnote{HCR 35 A C1, from THK.} which are placed such that the center of rotation coincide with the X-ray beam. +Each linear guide is very stiff in radial directions such that the only DoF with low stiffness is in \(R_y\). + +This stage is mainly used in \emph{reflectivity} experiments where the sample \(R_y\) angle is scanned. +This stage can also be used to tilt the rotation axis of the Spindle. + +To precisely control the \(R_y\) angle, a stepper motor and two optical encoders are used in a PID feedback loop. + +\begin{minipage}[b]{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/ustation_ty_stage.png} +\captionof{figure}{\label{fig:ustation_ty_stage}Translation Stage} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/ustation_ry_stage.png} +\captionof{figure}{\label{fig:ustation_ry_stage}Tilt Stage} +\end{center} +\end{minipage} + +\paragraph{Spindle} + +Then, a rotation stage is used for tomography experiments. +It is composed of an air bearing spindle\footnote{Made by LAB Motion Systems.}, whose angular position is controlled with a 3 phase synchronous motor based on the reading of 4 optical encoders. + +Additional rotary unions and slip-rings are used to be able to pass electrical signals, fluids and gazes through the rotation stage. + +\paragraph{Micro-Hexapod} + +Finally, a Stewart platform\footnote{Modified Zonda Hexapod by Symetrie.} is used to position the sample. +It includes a DC motor and an optical linear encoders in each of the six struts. + +This stage is used to position the point of interest of the sample with respect to the spindle rotation axis. +It can also be used to precisely position the PoI vertically with respect to the x-ray. + +\begin{minipage}[t]{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/ustation_rz_stage.png} +\captionof{figure}{\label{fig:ustation_rz_stage}Rotation Stage (Spindle)} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[t]{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/ustation_hexapod_stage.png} +\captionof{figure}{\label{fig:ustation_hexapod_stage}Micro Hexapod} +\end{center} +\end{minipage} + +\subsection{Mathematical description of a rigid body motion} +\label{ssec:ustation_motion_description} +In this section, mathematical tools\footnote{The tools presented here are largely taken from \cite{taghirad13_paral}.} that are used to describe the motion of positioning stages are introduced. + +First, the tools to describe the pose of a solid body (i.e. it's position and orientation) are introduced. +The motion induced by a positioning stage is described by transformation matrices. +Finally, the motions of all stacked stages are combined, and the sample's motion is computed from each stage motion. +\paragraph{Spatial motion representation} + +The \emph{pose} of a solid body relative to a specific frame can be described by six independent parameters. +Three parameters are typically used to describe its position, and three other parameters describe its orientation. + +The \emph{position} of a point \(P\) with respect to a frame \(\{A\}\) can be described by a \(3 \times 1\) position vector \eqref{eq:ustation_position}. +The name of the frame is usually added as a leading superscript: \({}^AP\) which reads as vector \(P\) in frame \(\{A\}\). + +\begin{equation}\label{eq:ustation_position} + {}^AP = \begin{bmatrix} P_x\\ P_y\\ P_z \end{bmatrix} +\end{equation} + +A pure translation of a solid body (i.e., of a frame \(\{B\}\) attached to the solid body) can be described by the position \({}^AP_{O_B}\) as shown in Figure \ref{fig:ustation_translation}. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.8]{figs/ustation_translation.png} +\end{center} +\subcaption{\label{fig:ustation_translation}Pure translation} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.8]{figs/ustation_rotation.png} +\end{center} +\subcaption{\label{fig:ustation_rotation}Pure rotation} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.8]{figs/ustation_transformation.png} +\end{center} +\subcaption{\label{fig:ustation_transformation}General transformation} +\end{subfigure} +\caption{\label{fig:ustation_transformation_schematics}Rigid body motion representation. \subref{fig:ustation_translation} pure translation. \subref{fig:ustation_rotation} pure rotation. \subref{fig:ustation_transformation} combined rotation and translation.} +\end{figure} + +The \emph{orientation} of a rigid body is the same at all its points (by definition). +Hence, the orientation of a rigid body can be viewed as that of a moving frame attached to the rigid body. +It can be represented in several different ways: the rotation matrix, the screw axis representation, and the Euler angles are common descriptions. + +The rotation matrix \({}^A\bm{R}_B\) is a \(3 \times 3\) matrix containing the Cartesian unit vectors of frame \(\{\bm{B}\}\) represented in frame \(\{\bm{A}\}\) \eqref{eq:ustation_rotation_matrix}. + +\begin{equation}\label{eq:ustation_rotation_matrix} + {}^A\bm{R}_B = \left[ {}^A\hat{\bm{x}}_B | {}^A\hat{\bm{y}}_B | {}^A\hat{\bm{z}}_B \right] = \begin{bmatrix} + u_{x} & v_{x} & z_{x} \\ + u_{y} & v_{y} & z_{y} \\ + u_{z} & v_{z} & z_{z} + \end{bmatrix} +\end{equation} + +Consider a pure rotation of a rigid body (\(\{\bm{A}\}\) and \(\{\bm{B}\}\) are coincident at their origins, as shown in Figure \ref{fig:ustation_rotation}). +The rotation matrix can be used to express the coordinates of a point \(P\) in a fixed frame \(\{A\}\) (i.e. \({}^AP\)) from its coordinate in the moving frame \(\{B\}\) using Equation \eqref{eq:ustation_rotation}. + +\begin{equation} \label{eq:ustation_rotation} + {}^AP = {}^A\bm{R}_B {}^BP +\end{equation} + +For rotations along \(x\), \(y\) or \(z\) axis, the formulas of the corresponding rotation matrices are given in Equation \eqref{eq:ustation_rotation_matrices_xyz}. + +\begin{subequations}\label{eq:ustation_rotation_matrices_xyz} +\begin{align} +\bm{R}_x(\theta_x) &= \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos(\theta_x) & -\sin(\theta_x) \\ 0 & \sin(\theta_x) & \cos(\theta_x) \end{bmatrix} \\ +\bm{R}_y(\theta_y) &= \begin{bmatrix} \cos(\theta_y) & 0 & \sin(\theta_y) \\ 0 & 1 & 0 \\ -\sin(\theta_y) & 0 & \cos(\theta_y) \end{bmatrix} \\ +\bm{R}_z(\theta_z) &= \begin{bmatrix} \cos(\theta_z) & -\sin(\theta_z) & 0 \\ \sin(\theta_z) & \cos(\theta_x) & 0 \\ 0 & 0 & 1 \end{bmatrix} +\end{align} +\end{subequations} + +Sometimes, it is useful to express a rotation as a combination of three rotations described by \(\bm{R}_x\), \(\bm{R}_y\) and \(\bm{R}_z\). +The order of rotation is very important\footnote{Rotations are non commutative in 3D.}, therefore, in this study, rotations are expressed as three successive rotations about the coordinate axes of the moving frame \eqref{eq:ustation_rotation_combination}. + +\begin{equation}\label{eq:ustation_rotation_combination} +{}^A\bm{R}_B(\alpha, \beta, \gamma) = \bm{R}_u(\alpha) \bm{R}_v(\beta) \bm{R}_c(\gamma) +\end{equation} + +Such rotation can be parameterized by three Euler angles \((\alpha,\ \beta,\ \gamma)\), which can be computed from a given rotation matrix using equations \eqref{eq:ustation_euler_angles}. + +\begin{subequations}\label{eq:ustation_euler_angles} +\begin{align} +\alpha &= \text{atan2}(-R_{23}/\cos(\beta),\ R_{33}/\cos(\beta)) \\ +\beta &= \text{atan2}( R_{13},\ \sqrt{R_{11}^2 + R_{12}^2}) \\ +\gamma &= \text{atan2}(-R_{12}/\cos(\beta),\ R_{11}/\cos(\beta)) +\end{align} +\end{subequations} + +\paragraph{Motion of a Rigid Body} + +Since the relative positions of a rigid body with respect to a moving frame \(\{B\}\) attached to it are fixed for all time, it is sufficient to know the position of the origin of the frame \(O_B\) and the orientation of the frame \(\{B\}\) with respect to the fixed frame \(\{A\}\), to represent the position of any point \(P\) in the space. + +Therefore, the pose of a rigid body can be fully determined by: +\begin{enumerate} +\item The position vector of point \(O_B\) with respect to frame \(\{A\}\) which is denoted \({}^AP_{O_B}\) +\item The orientation of the rigid body, or the moving frame \(\{B\}\) attached to it with respect to the fixed frame \(\{A\}\), that is represented by \({}^A\bm{R}_B\). +\end{enumerate} + +The position of any point \(P\) of the rigid body with respect to the fixed frame \(\{\bm{A}\}\), which is denoted \({}^A\bm{P}\) may be determined thanks to the \emph{Chasles' theorem}, which states that if the pose of a rigid body \(\{{}^A\bm{R}_B, {}^AP_{O_B}\}\) is given, then the position of any point \(P\) of this rigid body with respect to \(\{\bm{A}\}\) is given by Equation \eqref{eq:ustation_chasles_therorem}. + +\begin{equation} \label{eq:ustation_chasles_therorem} + {}^AP = {}^A\bm{R}_B {}^BP + {}^AP_{O_B} +\end{equation} + +While equation \eqref{eq:ustation_chasles_therorem} can describe the motion of a rigid body, it can be written in a more convenient way using \(4 \times 4\) homogeneous transformation matrices and \(4 \times 1\) homogeneous coordinates. +The homogeneous transformation matrix is composed of the rotation matrix \({}^A\bm{R}_B\) representing the orientation and the position vector \({}^AP_{O_B}\) representing the translation. +It is partitioned as shown in Equation \eqref{eq:ustation_homogeneous_transformation_parts}. + +\begin{equation}\label{eq:ustation_homogeneous_transformation_parts} + {}^A\bm{T}_B = + \left[ \begin{array}{ccc|c} + & & & \\ + & {}^A\bm{R}_B & & {}^AP_{O_B} \\ + & & & \cr + \hline + 0 & 0 & 0 & 1 + \end{array} \right] +\end{equation} + +Then, \({}^AP\) can be computed from \({}^BP\) and the homogeneous transformation matrix using \eqref{eq:ustation_homogeneous_transformation}. + +\begin{equation}\label{eq:ustation_homogeneous_transformation} + \left[ \begin{array}{c} \\ {}^AP \\ \cr \hline 1 \end{array} \right] + = + \left[ \begin{array}{ccc|c} + & & & \\ + & {}^A\bm{R}_B & & {}^AP_{O_B} \\ + & & & \cr + \hline + 0 & 0 & 0 & 1 + \end{array} \right] + \left[ \begin{array}{c} \\ {}^BP \\ \cr \hline 1 \end{array} \right] \quad \Rightarrow \quad {}^AP = {}^A\bm{R}_B {}^BP + {}^AP_{O_B} +\end{equation} + +One key advantage of homogeneous transformation is that it can easily be generalized for consecutive transformations. +Let us consider the motion of a rigid body described at three locations (Figure \ref{fig:ustation_combined_transformation}). +Frame \(\{A\}\) represents the initial location, frame \(\{B\}\) is an intermediate location, and frame \(\{C\}\) represents the rigid body at its final location. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/ustation_combined_transformation.png} +\caption{\label{fig:ustation_combined_transformation}Motion of a rigid body represented at three locations by frame \(\{A\}\), \(\{B\}\) and \(\{C\}\)} +\end{figure} + +Furthermore, suppose the position vector of a point \(P\) of the rigid body is given in the final location, that is \({}^CP\) is given, and the position of this point is to be found in the fixed frame \(\{A\}\), that is \({}^AP\). +Since the locations of the rigid body are known relative to each other, \({}^CP\) can be transformed to \({}^BP\) using \({}^B\bm{T}_C\) using \({}^BP = {}^B\bm{T}_C {}^CP\). +Similarly, \({}^BP\) can be transformed into \({}^AP\) using \({}^AP = {}^A\bm{T}_B {}^BP\). + +Combining the two relations, Equation \eqref{eq:ustation_consecutive_transformations} is obtained. +This shows that combining multiple transformations is equivalent as to compute \(4 \times 4\) matrix multiplications. + +\begin{equation}\label{eq:ustation_consecutive_transformations} +{}^AP = \underbrace{{}^A\bm{T}_B {}^B\bm{T}_C}_{{}^A\bm{T}_C} {}^CP +\end{equation} + +Another key advantage of homogeneous transformation is the easy inverse transformation, which can be computed using Equation \eqref{eq:ustation_inverse_homogeneous_transformation}. + +\begin{equation}\label{eq:ustation_inverse_homogeneous_transformation} + {}^B\bm{T}_A = {}^A\bm{T}_B^{-1} = + \left[ \begin{array}{ccc|c} + & & & \\ + & {}^A\bm{R}_B^T & & -{}^A \bm{R}_B^T {}^AP_{O_B} \\ + & & & \cr + \hline + 0 & 0 & 0 & 1 \\ + \end{array} \right] +\end{equation} + +\subsection{Micro-Station Kinematics} +\label{ssec:ustation_kinematics} + +Each stage is described by two frames; one is attached to the fixed platform \(\{A\}\) while the other is fixed to the mobile platform \(\{B\}\). +At ``rest'' position, the two have the same pose and coincide with the point of interest (\(O_A = O_B\)). +An example of the tilt stage is shown in Figure \ref{fig:ustation_stage_motion}. +The mobile frame of the translation stage is equal to the fixed frame of the tilt stage: \(\{B_{D_y}\} = \{A_{R_y}\}\). +Similarly, the mobile frame of the tilt stage is equal to the fixed frame of the spindle: \(\{B_{R_y}\} = \{A_{R_z}\}\). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/ustation_stage_motion.png} +\caption{\label{fig:ustation_stage_motion}Example of the motion induced by the tilt-stage \(R_y\). ``Rest'' position in shown in blue while a arbitrary position in shown in red. Parasitic motions are here magnified for clarity.} +\end{figure} + +The motion induced by a positioning stage can be described by a homogeneous transformation matrix from frame \(\{A\}\) to frame \(\{B\}\) as explain in Section \ref{ssec:ustation_kinematics}. +As any motion stage induces parasitic motion in all 6 DoF, the transformation matrix representing its induced motion can be written as in \eqref{eq:ustation_translation_stage_errors}. + +\begin{equation}\label{eq:ustation_translation_stage_errors} +{}^A\bm{T}_B(D_x, D_y, D_z, \theta_x, \theta_y, \theta_z) = +\left[ \begin{array}{ccc|c} + & & & D_x \\ + & \bm{R}_x(\theta_x) \bm{R}_y(\theta_y) \bm{R}_z(\theta_z) & & D_y \\ + & & & D_z \cr + \hline + 0 & 0 & 0 & 1 +\end{array} \right] +\end{equation} + +The homogeneous transformation matrix corresponding to the micro-station \(\bm{T}_{\mu\text{-station}}\) is simply equal to the matrix multiplication of the homogeneous transformation matrices of the individual stages as shown in Equation \eqref{eq:ustation_transformation_station}. + +\begin{equation}\label{eq:ustation_transformation_station} +\bm{T}_{\mu\text{-station}} = \bm{T}_{D_y} \cdot \bm{T}_{R_y} \cdot \bm{T}_{R_z} \cdot \bm{T}_{\mu\text{-hexapod}} +\end{equation} + +\(\bm{T}_{\mu\text{-station}}\) represents the pose of the sample (supposed to be rigidly fixed on top of the positioning-hexapod) with respect to the granite. + +If the transformation matrices of the individual stages are each representing a perfect motion (i.e. the stages are supposed to have no parasitic motion), \(\bm{T}_{\mu\text{-station}}\) then represent the pose setpoint of the sample with respect to the granite. +The transformation matrices for the translation stage, tilt stage, spindle, and positioning hexapod can be written as shown in Equation \eqref{eq:ustation_transformation_matrices_stages}. + +\begin{equation}\label{eq:ustation_transformation_matrices_stages} +\begin{align} +\bm{T}_{D_y} &= \begin{bmatrix} + 1 & 0 & 0 & 0 \\ + 0 & 1 & 0 & D_y \\ + 0 & 0 & 1 & 0 \\ + 0 & 0 & 0 & 1 +\end{bmatrix} \quad +\bm{T}_{\mu\text{-hexapod}} = +\left[ \begin{array}{ccc|c} + & & & D_{\mu x} \\ + & \bm{R}_x(\theta_{\mu x}) \bm{R}_y(\theta_{\mu y}) \bm{R}_{z}(\theta_{\mu z}) & & D_{\mu y} \\ + & & & D_{\mu z} \cr + \hline + 0 & 0 & 0 & 1 +\end{array} \right] \\ +\bm{T}_{R_z} &= \begin{bmatrix} + \cos(\theta_z) & -\sin(\theta_z) & 0 & 0 \\ + \sin(\theta_z) & \cos(\theta_z) & 0 & 0 \\ + 0 & 0 & 1 & 0 \\ + 0 & 0 & 0 & 1 +\end{bmatrix} \quad +\bm{T}_{R_y} = \begin{bmatrix} + \cos(\theta_y) & 0 & \sin(\theta_y) & 0 \\ + 0 & 1 & 0 & 0 \\ + -\sin(\theta_y) & 0 & \cos(\theta_y) & 0 \\ + 0 & 0 & 0 & 1 +\end{bmatrix} +\end{align} +\end{equation} + +\subsection{Micro-Station Dynamics} +\label{sec:ustation_modeling} +In this section, the multi-body model of the micro-station is presented. +Such model consists of several rigid bodies connected by springs and dampers. +The inertia of the solid bodies and the stiffness properties of the guiding mechanisms were first estimated based on the CAD model and data-sheets (Section \ref{ssec:ustation_model_simscape}). + +The obtained dynamics is then compared with the modal analysis performed on the micro-station (Section \ref{ssec:ustation_model_comp_dynamics}). + +As the dynamics of the nano-hexapod is impacted by the micro-station compliance, the most important dynamical characteristic that should be well modeled is the overall compliance of the micro-station. +To do so, the 6-DoF compliance of the micro-station is measured and then compared with the 6-DoF compliance extracted from the multi-body model (Section \ref{ssec:ustation_model_compliance}). +\subsection{Multi-Body Model} +\label{ssec:ustation_model_simscape} + +By performing a modal analysis of the micro-station, it was verified that in the frequency range of interest, each stage behaved as a rigid body. +This confirms that a multi-body model can be used to properly model the micro-station. + +A multi-body model consists of several solid bodies connected by joints. +Each solid body can be represented by its inertia properties (most of the time computed automatically from the 3D model and material density). +Joints are used to impose kinematic constraints between solid bodies and to specify dynamical properties (i.e. spring stiffness and damping coefficient). +External forces can be used to model disturbances, and ``sensors'' can be used to measure the relative pose between two defined frames. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/ustation_simscape_stage_example.png} +\caption{\label{fig:ustation_simscape_stage_example}Example of a stage (here the tilt-stage) represented in the multi-body model software (Simscape). It is composed of two solid bodies connected by a 6-DoF joint. One joint DoF (here the tilt angle) can be imposed, the other DoFs are represented by springs and dampers. Additional disturbances forces for all DoF can be included} +\end{figure} + +Therefore, the micro-station is modeled by several solid bodies connected by joints. +A typical stage (here the tilt-stage) is modeled as shown in Figure \ref{fig:ustation_simscape_stage_example} where two solid bodies (the fixed part and the mobile part) are connected by a 6-DoF joint. +One DoF of the 6-DoF joint is ``imposed'' by a setpoint (i.e. modeled as infinitely stiff), while the other 5 are each modeled by a spring and damper. +Additional forces can be used to model disturbances induced by the stage motion. +The obtained 3D representation of the multi-body model is shown in Figure \ref{fig:ustation_simscape_model}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.8\linewidth]{figs/ustation_simscape_model.jpg} +\caption{\label{fig:ustation_simscape_model}3D view of the micro-station multi-body model} +\end{figure} + +The ground is modeled by a solid body connected to the ``world frame'' through a joint only allowing 3 translations. +The granite was then connected to the ground using a 6-DoF joint. +The translation stage is connected to the granite by a 6-DoF joint, but the \(D_y\) motion is imposed. +Similarly, the tilt-stage and the spindle are connected to the stage below using a 6-DoF joint, with 1 imposed DoF each time. +Finally, the positioning hexapod has 6-DoF. + +The total number of ``free'' degrees of freedom is 27, so the model has 54 states. +The springs and dampers values were first estimated from the joint/stage specifications and were later fined-tuned based on the measurements. +The spring values are summarized in Table \ref{tab:ustation_6dof_stiffness_values}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{\linewidth}{Xcccccc} +\toprule +\textbf{Stage} & \(D_x\) & \(D_y\) & \(D_z\) & \(R_x\) & \(R_y\) & \(R_z\)\\ +\midrule +Granite & \(5\,kN/\mu m\) & \(5\,kN/\mu m\) & \(5\,kN/\mu m\) & \(25\,Nm/\mu\text{rad}\) & \(25\,Nm/\mu\text{rad}\) & \(10\,Nm/\mu\text{rad}\)\\ +Translation & \(200\,N/\mu m\) & - & \(200\,N/\mu m\) & \(60\,Nm/\mu\text{rad}\) & \(90\,Nm/\mu\text{rad}\) & \(60\,Nm/\mu\text{rad}\)\\ +Tilt & \(380\,N/\mu m\) & \(400\,N/\mu m\) & \(380\,N/\mu m\) & \(120\,Nm/\mu\text{rad}\) & - & \(120\,Nm/\mu\text{rad}\)\\ +Spindle & \(700\,N/\mu m\) & \(700\,N/\mu m\) & \(2\,kN/\mu m\) & \(10\,Nm/\mu\text{rad}\) & \(10\,Nm/\mu\text{rad}\) & -\\ +Hexapod & \(10\,N/\mu m\) & \(10\,N/\mu m\) & \(100\,N/\mu m\) & \(1.5\,Nm/rad\) & \(1.5\,Nm/rad\) & \(0.27\,Nm/rad\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:ustation_6dof_stiffness_values}Summary of the stage stiffnesses. The contrained degrees-of-freedom are indicated by ``-''. The frames in which the 6-DoF joints are defined are indicated in figures found in Section \ref{ssec:ustation_stages}} + +\end{table} + +\subsection{Comparison with the measured dynamics} +\label{ssec:ustation_model_comp_dynamics} + +The dynamics of the micro-station was measured by placing accelerometers on each stage and by impacting the translation stage with an instrumented hammer in three directions. +The obtained FRFs were then projected at the CoM of each stage. + +To gain a first insight into the accuracy of the obtained model, the FRFs from the hammer impacts to the acceleration of each stage were extracted from the multi-body model and compared with the measurements in Figure \ref{fig:ustation_comp_com_response}. + +Even though there is some similarity between the model and the measurements (similar overall shapes and amplitudes), it is clear that the multi-body model does not accurately represent the complex micro-station dynamics. +Tuning the numerous model parameters to better match the measurements is a highly non-linear optimization problem that is difficult to solve in practice. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_comp_com_response_rz_x.png} +\end{center} +\subcaption{\label{fig:ustation_comp_com_response_rz_x}Spindle, $x$ response} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_comp_com_response_hexa_y.png} +\end{center} +\subcaption{\label{fig:ustation_comp_com_response_hexa_y}Hexapod, $y$ response} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_comp_com_response_ry_z.png} +\end{center} +\subcaption{\label{fig:ustation_comp_com_response_ry_z}Tilt, $z$ response} +\end{subfigure} +\caption{\label{fig:ustation_comp_com_response}FRFs between the hammer impacts on the translation stage and the measured stage acceleration expressed at its CoM. Comparison of the measured and extracted FRFs from the multi-body model. Different directions are computed for different stages.} +\end{figure} + +\subsection{Micro-station compliance} +\label{ssec:ustation_model_compliance} + +As discussed in the previous section, the dynamics of the micro-station is complex, and tuning the multi-body model parameters to obtain a perfect match is difficult. + +When considering the NASS, the most important dynamical characteristics of the micro-station is its compliance, as it can affect the plant dynamics. +Therefore, the adopted strategy is to accurately model the micro-station compliance. + +The micro-station compliance was experimentally measured using the setup illustrated in Figure \ref{fig:ustation_compliance_meas}. +Four 3-axis accelerometers were fixed to the micro-hexapod top platform. +The micro-hexapod top platform was impacted at 10 different points. +For each impact position, 10 impacts were performed to average and improve the data quality. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/ustation_compliance_meas.png} +\caption{\label{fig:ustation_compliance_meas}Schematic of the measurement setup used to estimate the compliance of the micro-station. The top platform of the positioning hexapod is shown with four 3-axis accelerometers (shown in red) are on top. 10 hammer impacts are performed at different locations (shown in blue).} +\end{figure} + +To convert the 12 acceleration signals \(a_{\mathcal{L}} = [a_{1x}\ a_{1y}\ a_{1z}\ a_{2x}\ \dots\ a_{4z}]\) to the acceleration expressed in the frame \(\{\mathcal{X}\}\) \(a_{\mathcal{X}} = [a_{dx}\ a_{dy}\ a_{dz}\ a_{rx}\ a_{ry}\ a_{rz}]\), a Jacobian matrix \(\bm{J}_a\) is written based on the positions and orientations of the accelerometers \eqref{eq:ustation_compliance_acc_jacobian}. + +\begin{equation}\label{eq:ustation_compliance_acc_jacobian} +\bm{J}_a = \begin{bmatrix} +1 & 0 & 0 & 0 & 0 &-d \\ +0 & 1 & 0 & 0 & 0 & 0 \\ +0 & 0 & 1 & d & 0 & 0 \\ +1 & 0 & 0 & 0 & 0 & 0 \\ +0 & 1 & 0 & 0 & 0 &-d \\ +0 & 0 & 1 & 0 & d & 0 \\ +1 & 0 & 0 & 0 & 0 & d \\ +0 & 1 & 0 & 0 & 0 & 0 \\ +0 & 0 & 1 &-d & 0 & 0 \\ +1 & 0 & 0 & 0 & 0 & 0 \\ +0 & 1 & 0 & 0 & 0 & d \\ +0 & 0 & 1 & 0 &-d & 0 +\end{bmatrix} +\end{equation} + +Then, the acceleration in the cartesian frame can be computed using \eqref{eq:ustation_compute_cart_acc}. + +\begin{equation}\label{eq:ustation_compute_cart_acc} +a_{\mathcal{X}} = \bm{J}_a^\dagger \cdot a_{\mathcal{L}} +\end{equation} + +Similar to what is done for the accelerometers, a Jacobian matrix \(\bm{J}_F\) is computed \eqref{eq:ustation_compliance_force_jacobian} and used to convert the individual hammer forces \(F_{\mathcal{L}}\) to force and torques \(F_{\mathcal{X}}\) applied at the center of the micro-hexapod top plate (defined by frame \(\{\mathcal{X}\}\) in Figure \ref{fig:ustation_compliance_meas}). + +\begin{equation}\label{eq:ustation_compliance_force_jacobian} +\bm{J}_F = \begin{bmatrix} + 0 & -1 & 0 & 0 & 0 & 0\\ + 0 & 0 & -1 & -d & 0 & 0\\ + 1 & 0 & 0 & 0 & 0 & 0\\ + 0 & 0 & -1 & 0 & -d & 0\\ + 0 & 1 & 0 & 0 & 0 & 0\\ + 0 & 0 & -1 & d & 0 & 0\\ +-1 & 0 & 0 & 0 & 0 & 0\\ + 0 & 0 & -1 & 0 & d & 0\\ +-1 & 0 & 0 & 0 & 0 & -d\\ +-1 & 0 & 0 & 0 & 0 & d +\end{bmatrix} +\end{equation} + +The equivalent forces and torques applied at center of \(\{\mathcal{X}\}\) are then computed using \eqref{eq:ustation_compute_cart_force}. + +\begin{equation}\label{eq:ustation_compute_cart_force} +F_{\mathcal{X}} = \bm{J}_F^t \cdot F_{\mathcal{L}} +\end{equation} + +Using the two Jacobian matrices, the FRF from the 10 hammer impacts to the 12 accelerometer outputs can be converted to the FRF from 6 forces/torques applied at the origin of frame \(\{\mathcal{X}\}\) to the 6 linear/angular accelerations of the top platform expressed with respect to \(\{\mathcal{X}\}\). +These FRFs were then used for comparison with the multi-body model. + +The compliance of the micro-station multi-body model was extracted by computing the transfer function from forces/torques applied on the hexapod's top platform to the ``absolute'' motion of the top platform. +These results are compared with the measurements in Figure \ref{fig:ustation_frf_compliance_model}. +Considering the complexity of the micro-station compliance dynamics, the model compliance matches sufficiently well for the current application. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/ustation_frf_compliance_xyz_model.png} +\end{center} +\subcaption{\label{fig:ustation_frf_compliance_xyz_model}Compliance in translation} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/ustation_frf_compliance_Rxyz_model.png} +\end{center} +\subcaption{\label{fig:ustation_frf_compliance_Rxyz_model}Compliance in rotation} +\end{subfigure} +\caption{\label{fig:ustation_frf_compliance_model}Compliance of the micro-station expressed in frame \(\{\mathcal{X}\}\). The measured FRFs are display by solid lines, while the FRFs extracted from the multi-body models are shown by dashed lines. Both translation terms \subref{fig:ustation_frf_compliance_xyz_model} and rotational terms \subref{fig:ustation_frf_compliance_Rxyz_model} are displayed.} +\end{figure} + +\subsection{Estimation of Disturbances} +\label{sec:ustation_disturbances} +The goal of this section is to obtain a realistic representation of disturbances affecting the micro-station. +These disturbance sources are then used during time domain simulations to accurately model the micro-station behavior. +The focus on stochastic disturbances because, in principle, it is possible to calibrate the repeatable part of disturbances. +Such disturbances include ground motions and vibrations induces by scanning the translation stage and the spindle. + +In the multi-body model, stage vibrations are modeled as internal forces applied in the stage joint. +In practice, disturbance forces cannot be directly measured. +Instead, the vibrations of the micro-station's top platform induced by the disturbances were measured (Section \ref{ssec:ustation_disturbances_meas}). + +To estimate the equivalent disturbance force that induces such vibration, the transfer functions from disturbance sources (i.e. forces applied in the stages' joint) to the displacements of the micro-station's top platform with respect to the granite are extracted from the multi-body model (Section \ref{ssec:ustation_disturbances_sensitivity}). +Finally, the obtained disturbance sources are compared in Section \ref{ssec:ustation_disturbances_results}. +\subsection{Disturbance measurements} +\label{ssec:ustation_disturbances_meas} +In this section, ground motion is directly measured using geophones. +Vibrations induced by scanning the translation stage and the spindle are also measured using dedicated setups. + +The tilt stage and the micro-hexapod also have positioning errors; however, they are not modeled here because these two stages are only used for pre-positioning and not for scanning. +Therefore, from a control perspective, they are not important. +\paragraph{Ground Motion} + +The ground motion was measured by using a sensitive 3-axis geophone\footnote{A 3-Axis L4C geophone manufactured Sercel was used.} placed on the ground. +The generated voltages were recorded with a high resolution DAC, and converted to displacement using the Geophone sensitivity transfer function. +The obtained ground motion displacement is shown in Figure \ref{fig:ustation_ground_disturbance}. + +\begin{minipage}[b]{0.54\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/ustation_ground_disturbance.png} +\captionof{figure}{\label{fig:ustation_ground_disturbance}Measured ground motion} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.44\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.92\linewidth]{figs/ustation_geophone_picture.jpg} +\captionof{figure}{\label{fig:ustation_geophone_picture}(3D) L-4C geophone} +\end{center} +\end{minipage} + +\paragraph{Ty Stage} + +To measure the positioning errors of the translation stage, the setup shown in Figure \ref{fig:ustation_errors_ty_setup} is used. +A special optical element (called a ``straightness interferometer''\footnote{The special optics (straightness interferometer and reflector) are manufactured by Agilent (10774A).}) is fixed on top of the micro-station, while a laser source\footnote{Laser source is manufactured by Agilent (5519b).} and a straightness reflector are fixed on the ground. +A similar setup was used to measure the horizontal deviation (i.e. in the \(x\) direction), as well as the pitch and yaw errors of the translation stage. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/ustation_errors_ty_setup.png} +\caption{\label{fig:ustation_errors_ty_setup}Experimental setup to measure the flatness (vertical deviation) of the translation stage} +\end{figure} + +Six scans were performed between \(-4.5\,mm\) and \(4.5\,mm\). +The results for each individual scan are shown in Figure \ref{fig:ustation_errors_dy_vertical}. +The measurement axis may not be perfectly aligned with the translation stage axis; this, a linear fit is removed from the measurement. +The remaining vertical displacement is shown in Figure \ref{fig:ustation_errors_dy_vertical_remove_mean}. +A vertical error of \(\pm300\,nm\) induced by the translation stage is expected. +Similar result is obtained for the \(x\) lateral direction. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/ustation_errors_dy_vertical.png} +\end{center} +\subcaption{\label{fig:ustation_errors_dy_vertical}Measured vertical error} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/ustation_errors_dy_vertical_remove_mean.png} +\end{center} +\subcaption{\label{fig:ustation_errors_dy_vertical_remove_mean}Error after removing linear fit} +\end{subfigure} +\caption{\label{fig:ustation_errors_dy}Measurement of the linear (vertical) deviation of the Translation stage \subref{fig:ustation_errors_dy_vertical}. A linear fit is then removed from the data \subref{fig:ustation_errors_dy_vertical_remove_mean}.} +\end{figure} + +\paragraph{Spindle} + +To measure the positioning errors induced by the Spindle, a ``Spindle error analyzer''\footnote{The Spindle Error Analyzer is made by Lion Precision.} is used as shown in Figure \ref{fig:ustation_rz_meas_lion_setup}. +A specific target is fixed on top of the micro-station, which consists of two sphere with 1 inch diameter precisely aligned with the spindle rotation axis. +Five capacitive sensors\footnote{C8 capacitive sensors and CPL290 capacitive driver electronics from Lion Precision.} are pointing at the two spheres, as shown in Figure \ref{fig:ustation_rz_meas_lion_zoom}. +From the 5 measured displacements \([d_1,\,d_2,\,d_3,\,d_4,\,d_5]\), the translations and rotations \([D_x,\,D_y,\,D_z,\,R_x,\,R_y]\) of the target can be estimated. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_rz_meas_lion.jpg} +\end{center} +\subcaption{\label{fig:ustation_rz_meas_lion}Micro-station and 5-DoF metrology} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_rz_meas_lion_zoom.jpg} +\end{center} +\subcaption{\label{fig:ustation_rz_meas_lion_zoom}Zoom on the metrology system} +\end{subfigure} +\caption{\label{fig:ustation_rz_meas_lion_setup}Experimental setup used to estimate the errors induced by the Spindle rotation \subref{fig:ustation_rz_meas_lion}. The motion of the two reference spheres is measured using 5 capacitive sensors \subref{fig:ustation_rz_meas_lion_zoom}} +\end{figure} + +A measurement was performed during a constant rotational velocity of the spindle of 60rpm and during 10 turns. +The obtained results are shown in Figure \ref{fig:ustation_errors_spindle}. +A large fraction of the radial (Figure \ref{fig:ustation_errors_spindle_radial}) and tilt (Figure \ref{fig:ustation_errors_spindle_tilt}) errors is linked to the fact that the two spheres are not perfectly aligned with the rotation axis of the Spindle. +This is displayed by the dashed circle. +After removing the best circular fit from the data, the vibrations induced by the Spindle may be viewed as stochastic disturbances. +However, some misalignment between the ``point-of-interest'' of the sample and the rotation axis will be considered because the alignment is not perfect in practice. +The vertical motion induced by scanning the spindle is in the order of \(\pm 30\,nm\) (Figure \ref{fig:ustation_errors_spindle_axial}). + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_errors_spindle_radial.png} +\end{center} +\subcaption{\label{fig:ustation_errors_spindle_radial}Radial errors} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_errors_spindle_axial.png} +\end{center} +\subcaption{\label{fig:ustation_errors_spindle_axial}Axial error} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_errors_spindle_tilt.png} +\end{center} +\subcaption{\label{fig:ustation_errors_spindle_tilt}Tilt errors} +\end{subfigure} +\caption{\label{fig:ustation_errors_spindle}Measurement of the radial \subref{fig:ustation_errors_spindle_radial}, axial \subref{fig:ustation_errors_spindle_axial} and tilt \subref{fig:ustation_errors_spindle_tilt} Spindle errors during a 60rpm spindle rotation. The circular best fit is shown by the dashed circle. It represents the misalignment of the spheres with the rotation axis.} +\end{figure} + +\subsection{Sensitivity to disturbances} +\label{ssec:ustation_disturbances_sensitivity} + +To compute the disturbance source (i.e. forces) that induced the measured vibrations in Section \ref{ssec:ustation_disturbances_meas}, the transfer function from the disturbance sources to the stage vibration (i.e. the ``sensitivity to disturbances'') needs to be estimated. +This is achieved using the multi-body model presented in Section \ref{sec:ustation_modeling}. +The obtained transfer functions are shown in Figure \ref{fig:ustation_model_sensitivity}. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_model_sensitivity_ground_motion.png} +\end{center} +\subcaption{\label{fig:ustation_model_sensitivity_ground_motion}Ground motion} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_model_sensitivity_ty.png} +\end{center} +\subcaption{\label{fig:ustation_model_sensitivity_ty}Translation stage} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_model_sensitivity_rz.png} +\end{center} +\subcaption{\label{fig:ustation_model_sensitivity_rz}Spindle} +\end{subfigure} +\caption{\label{fig:ustation_model_sensitivity}Extracted transfer functions from disturbances to relative motion between the micro-station's top platform and the granite. The considered disturbances are the ground motion \subref{fig:ustation_model_sensitivity_ground_motion}, the translation stage vibrations \subref{fig:ustation_model_sensitivity_ty}, and the spindle vibrations \subref{fig:ustation_model_sensitivity_rz}.} +\end{figure} + +\subsection{Obtained disturbance sources} +\label{ssec:ustation_disturbances_results} + +From the measured effect of disturbances in Section \ref{ssec:ustation_disturbances_meas} and the sensitivity to disturbances extracted from the multi-body model in Section \ref{ssec:ustation_disturbances_sensitivity}, the power spectral density of the disturbance sources (i.e. forces applied in the stage's joint) can be estimated. +The obtained power spectral density of the disturbances are shown in Figure \ref{fig:ustation_dist_sources}. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_ground_motion.png} +\end{center} +\subcaption{\label{fig:ustation_dist_source_ground_motion}Ground Motion} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_translation_stage.png} +\end{center} +\subcaption{\label{fig:ustation_dist_source_translation_stage}Translation Stage} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_spindle.png} +\end{center} +\subcaption{\label{fig:ustation_dist_source_spindle}Spindle} +\end{subfigure} +\caption{\label{fig:ustation_dist_sources}Measured spectral density of the micro-station disturbance sources. Ground motion \subref{fig:ustation_dist_source_ground_motion}, translation stage \subref{fig:ustation_dist_source_translation_stage} and spindle \subref{fig:ustation_dist_source_spindle}.} +\end{figure} + +The disturbances are characterized by their power spectral densities, as shown in Figure \ref{fig:ustation_dist_sources}. +However, to perform time domain simulations, disturbances must be represented by a time domain signal. +To generate stochastic time-domain signals with a specific power spectral densities, the discrete inverse Fourier transform is used, as explained in \cite[chap. 12.11]{preumont94_random_vibrat_spect_analy}. +Examples of the obtained time-domain disturbance signals are shown in Figure \ref{fig:ustation_dist_sources_time}. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_ground_motion_time.png} +\end{center} +\subcaption{\label{fig:ustation_dist_source_ground_motion_time}Ground Motion} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_translation_stage_time.png} +\end{center} +\subcaption{\label{fig:ustation_dist_source_translation_stage_time}Translation Stage} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/ustation_dist_source_spindle_time.png} +\end{center} +\subcaption{\label{fig:ustation_dist_source_spindle_time}Spindle} +\end{subfigure} +\caption{\label{fig:ustation_dist_sources_time}Generated time domain disturbance signals. Ground motion \subref{fig:ustation_dist_source_ground_motion_time}, translation stage \subref{fig:ustation_dist_source_translation_stage_time} and spindle \subref{fig:ustation_dist_source_spindle_time}.} +\end{figure} + +\subsection{Simulation of Scientific Experiments} +\label{sec:ustation_experiments} +To fully validate the micro-station multi-body model, two time-domain simulations corresponding to typical use cases were performed. + +First, a tomography experiment (i.e. a constant Spindle rotation) was performed and was compared with experimental measurements (Section \ref{sec:ustation_experiments_tomography}). +Second, a constant velocity scans with the translation stage was performed and also compared with the experimental data (Section \ref{sec:ustation_experiments_ty_scans}). +\subsection{Tomography Experiment} +\label{sec:ustation_experiments_tomography} + +To simulate a tomography experiment, the setpoint of the Spindle is configured to perform a constant rotation with a rotational velocity of 60rpm. +Both ground motion and spindle vibration disturbances were simulated based on what was computed in Section \ref{sec:ustation_disturbances}. +A radial offset of \(\approx 1\,\mu m\) between the ``point-of-interest'' and the spindle's rotation axis is introduced to represent what is experimentally observed. +During the 10 second simulation (i.e. 10 spindle turns), the position of the ``point-of-interest'' with respect to the granite was recorded. +Results are shown in Figure \ref{fig:ustation_errors_model_spindle}. +A good correlation with the measurements is observed both for radial errors (Figure \ref{fig:ustation_errors_model_spindle_radial}) and axial errors (Figure \ref{fig:ustation_errors_model_spindle_axial}). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/ustation_errors_model_spindle_radial.png} +\end{center} +\subcaption{\label{fig:ustation_errors_model_spindle_radial}Radial error} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/ustation_errors_model_spindle_axial.png} +\end{center} +\subcaption{\label{fig:ustation_errors_model_spindle_axial}Axial error} +\end{subfigure} +\caption{\label{fig:ustation_errors_model_spindle}Simulation results for a tomography experiment at constant velocity of 60rpm. The comparison is made with measurements for both radial \subref{fig:ustation_errors_model_spindle_radial} and axial errors \subref{fig:ustation_errors_model_spindle_axial}.} +\end{figure} + +\subsection{Raster Scans with the translation stage} +\label{sec:ustation_experiments_ty_scans} + +A second experiment was performed in which the translation stage was scanned at constant velocity. +The translation stage setpoint is configured to have a ``triangular'' shape with stroke of \(\pm 4.5\, mm\). +Both ground motion and translation stage vibrations were included in the simulation. +Similar to what was performed for the tomography simulation, the PoI position with respect to the granite was recorded and compared with the experimental measurements in Figure \ref{fig:ustation_errors_model_dy_vertical}. +A similar error amplitude was observed, thus indicating that the multi-body model with the included disturbances accurately represented the micro-station behavior in typical scientific experiments. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/ustation_errors_model_dy_vertical.png} +\caption{\label{fig:ustation_errors_model_dy_vertical}Vertical errors during a constant-velocity scan of the translation stage. Comparison of the measurements and simulated errors.} +\end{figure} + +\subsection*{Conclusion} +\label{sec:ustation_conclusion} + +In this study, a multi-body model of the micro-station was developed. +It was difficult to match the measured dynamics obtained from the modal analysis of the micro-station. +However, the most important dynamical characteristic to be modeled is the compliance, as it affects the dynamics of the NASS. +After tuning the model parameters, a good match with the measured compliance was obtained (Figure \ref{fig:ustation_frf_compliance_model}). + +The disturbances affecting the sample position should also be well modeled. +After experimentally estimating the disturbances (Section \ref{sec:ustation_disturbances}), the multi-body model was finally validated by performing a tomography simulation (Figure \ref{fig:ustation_errors_model_spindle}) as well as a simulation in which the translation stage was scanned (Figure \ref{fig:ustation_errors_model_dy_vertical}). + \section{Nano Hexapod - Multi Body Model} +\section{Validation of the Concept} + +\section*{Conceptual Design - Conclusion} \begin{itemize} -\item What we want to capture with this model -\item Explain what is a multi body model (rigid body, springs, etc\ldots{}) -\item Key elements (plates, joints, struts): for now simplistic model (rigid body elements, perfect joints, \ldots{}), but in next section, FEM will be used -\item Matlab/Simulink developed toolbox for the study of Stewart platforms +\item[{$\square$}] schema avec chaque modèle et les conclusions pour chaque modèle \end{itemize} -\subsection{Stewart Platform Architecture} - -\begin{figure} -\begin{subfigure}{0.49\textwidth} -\begin{center} -\includegraphics[scale=1,width=0.8\linewidth]{stewart_architecture_example.png} -\end{center} -\subcaption{Initial position} -\end{subfigure} -\begin{subfigure}{0.49\textwidth} -\begin{center} -\includegraphics[scale=1,width=0.8\linewidth]{stewart_architecture_example_pose.png} -\end{center} -\subcaption{After some motion} -\end{subfigure} -\caption{\label{fig:stewart_platform_architecture}Stewart Platform Architecture} -\end{figure} - -Configurable Simscape Model: \url{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org} -\begin{itemize} -\item Explain the different frames, etc\ldots{} - -\item Little review -\item explain key elements: -\begin{itemize} -\item two plates -\item joints -\item actuators -\end{itemize} -\item explain advantages compared to serial architecture -\end{itemize} - -\subsection{Kinematics} - -\begin{itemize} -\item Well define elements, frames, \ldots{} -\item Derivation of jacobian matrices: for forces and for displacement -\item Explain this is true for small displacements (show how small) -\end{itemize} - -\subsection{Model of an Amplified Piezoelectric Actuator} - -\begin{itemize} -\item APA test bench -\item Piezoelectric effects -\item mass spring damper representation (2dof) -\item Compare the model and the experiment -\item Here, just a basic 2DoF model of the APA is used -\end{itemize} - -\subsection{Dynamics of the Nano-Hexapod} - -\begin{itemize} -\item Effect of joints stiffnesses - -\item[{$\square$}] The APA model should maybe not be used here, same for the nice top and bottom plates. Here the detailed design is not yet performed -\end{itemize} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=\linewidth]{figs/simscape_nano_hexapod.png} -\caption{\label{fig:simscape_nano_hexapod}3D view of the multi-body model of the Nano-Hexapod (simplified)} -\end{figure} - -\section{Control Architecture - Concept Validation} - -Discussion of: -\begin{itemize} -\item Transformation matrices / control architecture (computation of the position error in the frame of the nano-hexapod) -\item Control of parallel architectures -\item Control in the frame of struts or cartesian? -\item Effect of rotation on IFF? => APA -\item HAC-LAC -\item New noise budgeting? -\end{itemize} - -\subsection{Control Kinematics} - -\begin{itemize} -\item Explain how the position error can be expressed in the frame of the nano-hexapod -\item block diagram -\item Explain how to go from external metrology to the frame of the nano-hexapod -\end{itemize} - -\subsection{High Authority Control - Low Authority Control (HAC-LAC)} - -\begin{itemize} -\item general idea -\item case for parallel manipulator: decentralized LAC + centralized HAC -\end{itemize} - -\subsection{Decoupling Strategies for parallel manipulators} -\href{file:///home/thomas/Cloud/research/matlab/decoupling-strategies/svd-control.org}{study} - -\begin{itemize} -\item Jacobian matrices, CoK, CoM, \ldots{} -\item Discussion of cubic architecture -\item SVD, Modal, \ldots{} -\end{itemize} - -\subsection{Decentralized Integral Force Feedback (LAC)} - -\begin{itemize} -\item Root Locus -\item Damping optimization -\end{itemize} - -\subsection{Decoupled Dynamics} - -\begin{itemize} -\item Centralized HAC -\item Control in the frame of the struts -\item Effect of IFF -\end{itemize} - -\subsection{Centralized Position Controller (HAC)} - -\begin{itemize} -\item Decoupled plant -\item Controller design -\end{itemize} - -\section{Conceptual Design - Conclusion} - \chapter{Detailed Design} \minitoc -\paragraph{Abstract} - +\subsection*{Abstract} \begin{figure}[htbp] \centering \includegraphics[scale=1,width=\linewidth]{figs/chapter2_overview.png} @@ -547,181 +3690,11 @@ Discussion of: \end{figure} \section{Nano-Hexapod Kinematics - Optimal Geometry?} -\begin{itemize} -\item[{$\square$}] Maybe this can be just merged with the last section in this chapter? -\end{itemize} -\subsection{Optimal strut orientation} - - -\subsection{Cubic Architecture: a Special Case?} - -\url{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org} - -\section{Nano-Hexapod Dynamics - Including Flexible elements in the Multi-body model} -\begin{itemize} -\item[{$\square$}] Should this be an appendix? -\end{itemize} -Reduced order flexible bodies \cite{brumund21_multib_simul_reduc_order_flexib_bodies_fea} -\begin{itemize} -\item Used with APA, Flexible joints, Plates -\end{itemize} - -\subsection{Reduced order flexible bodies} - -\begin{itemize} -\item Quick explanation of the theory -\item Implementation with Ansys (or Comsol) and Simscape -\end{itemize} - -\subsection{Numerical Validation} - -\begin{itemize} -\item Numerical Validation Ansys VS Simscape (APA) -\item Figure with 0 and 1kg mass -\end{itemize} - -\subsection{Experimental Validation} - -\begin{itemize} -\item Test bench -\item Obtained transfer functions and comparison with Simscape model with reduced order flexible body -\end{itemize} - -\section{Actuator Choice} - -\begin{itemize} -\item From previous study: APA seems a nice choice -\item First tests with the APA95ML: validation of a basic model (maybe already presented) -\item Optimal stiffness? -\item Talk about piezoelectric actuator? bandwidth? noise? -\item Specifications: stiffness, stroke, \ldots{} => choice of the APA -\item FEM of the APA -\item Validation with flexible APA in the simscape model -\end{itemize} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=0.49\linewidth]{example-image-a.png} -\caption{\label{fig:apa_schmeatic}Schematical representation of an Amplified Piezoelectric Actuator} -\end{figure} - -\subsection{Model} - -Piezoelectric equations - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=0.49\linewidth]{example-image-a.png} -\caption{\label{fig:apa_schmeatic_2dof}Schematical representation of a 2DoF model of an Amplified Piezoelectric Actuator} -\end{figure} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1,width=0.49\linewidth]{example-image-b.png} -\caption{\label{fig:apa_schmeatic_fem}Schematical representation of a FEM of an Amplified Piezoelectric Actuator} -\end{figure} - -\begin{itemize} -\item FEM -\item Simscape model -\item (2 DoF, FEM, \ldots{}) -\end{itemize} - -\begin{figure}[htbp] -\centering -\includegraphics[scale=1]{figs/root_locus_iff_rot_stiffness.png} -\caption{\label{fig:root_locus_iff_rot_stiffness}Limitation of the attainable damping due to the APA design} -\end{figure} - -\subsection{Experimental System Identification} - -\begin{itemize} -\item Experimental validation (granite test bench) -\item Electrical parameters -\item Required instrumentation to read force sensor? -\item Add resistor to include high pass filtering: no risk of saturating the ADC -\item Estimation of piezoelectric parameters -\end{itemize} - -\subsection{Validation with Simscape model} - -\begin{itemize} -\item Tuned Simscape model -\item IFF results: OK -\end{itemize} - -\section{Design of Nano-Hexapod Flexible Joints} - -\begin{itemize} -\item Perfect flexible joint -\item Imperfection of the flexible joint: Model -\item Study of the effect of limited stiffness in constrain directions and non-null stiffness in other directions -\item Obtained Specification -\item Design optimisation (FEM) -\item Implementation of flexible elements in the Simscape model: close to simplified model -\end{itemize} - -\subsection{Effect of flexible joint characteristics on obtained dynamics} - -\begin{itemize} -\item Based on Simscape model -\item Effect of axial stiffness, bending stiffness, \ldots{} -\item Obtained specifications (trade-off) -\end{itemize} - - -\subsection{Flexible joint geometry optimization} - -\begin{itemize} -\item Chosen geometry -\item Show different existing geometry for flexible joints used on hexapods -\item Optimisation with Ansys -\item Validation with Simscape model -\end{itemize} - -\subsection{Experimental identification} - -\begin{itemize} -\item Experimental validation, characterisation (\href{file:///home/thomas/Cloud/work-projects/ID31-NASS/matlab/test-bench-flexible-joints-adv/bending.org}{study}) -\item Visual inspection -\item Test bench -\item Obtained results -\end{itemize} +\section{Optimization using Finite Element Models} \section{Choice of Instrumentation} -\begin{itemize} -\item Discussion of the choice of other elements: -\begin{itemize} -\item Encoder -\item DAC -\item ADC (reading of the force sensors) -\item real time controller -\item Voltage amplifiers -\end{itemize} -\item Give some requirements + chosen elements + measurements / validation -\end{itemize} - -\subsection{DAC and ADC} - -\begin{itemize} -\item Force sensor -\end{itemize} - -\subsection{Voltage amplifier (\href{https://research.tdehaeze.xyz/test-bench-pd200/}{link})} - -\begin{itemize} -\item Test Bench: capacitive load, ADC, DAC, Instrumentation amplifier -\item Noise measurement -\item Transfer function measurement -\end{itemize} - -\subsection{Encoder (\href{https://research.tdehaeze.xyz/test-bench-vionic/}{link})} -\begin{itemize} -\item Noise measurement -\end{itemize} - \section{Obtained Design} \begin{itemize} \item Explain again the different specifications in terms of space, payload, etc.. @@ -730,38 +3703,3440 @@ Piezoelectric equations \item Validation on Simscape with accurate model? \end{itemize} -\section{Detailed Design - Conclusion} +\section*{Detailed Design - Conclusion} + \chapter{Experimental Validation} \minitoc -\paragraph{Abstract} - +\subsection*{Abstract} \begin{figure}[htbp] \centering \includegraphics[scale=1,width=\linewidth]{figs/chapter3_overview.png} \caption{\label{fig:chapter3_overview}Figure caption} \end{figure} -Schematic representation of the experimental validation process. +\section{Amplified Piezoelectric Actuator} +In this chapter, the goal is to ensure that the received APA300ML (shown in Figure \ref{fig:test_apa_received}) are complying with the requirements and that the dynamical models of the actuator accurately represent its dynamics. + +In section \ref{sec:test_apa_basic_meas}, the mechanical tolerances of the APA300ML interfaces are checked together with the electrical properties of the piezoelectric stacks and the achievable stroke. +The flexible modes of the APA300ML, which were estimated using a finite element model, are compared with measurements. + +Using a dedicated test bench, dynamical measurements are performed (Section \ref{sec:test_apa_dynamics}). +The dynamics from the generated DAC voltage (going through the voltage amplifier and then to two actuator stacks) to the induced axial displacement and to the measured voltage across the force sensor stack are estimated. +Integral Force Feedback is experimentally applied, and the damped plants are estimated for several feedback gains. + +Two different models of the APA300ML are presented. +First, in Section \ref{sec:test_apa_model_2dof}, a two degrees-of-freedom model is presented, tuned, and compared with the measured dynamics. +This model is proven to accurately represent the APA300ML's axial dynamics while having low complexity. + +Then, in Section \ref{sec:test_apa_model_flexible}, a \emph{super element} of the APA300ML is extracted using a finite element model and imported into the multi-body model. +This more complex model also captures well capture the axial dynamics of the APA300ML. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.7\linewidth]{figs/test_apa_received.jpg} +\caption{\label{fig:test_apa_received}Picture of 5 out of the 7 received APA300ML} +\end{figure} + +\subsection{First Basic Measurements} +\label{sec:test_apa_basic_meas} +Before measuring the dynamical characteristics of the APA300ML, simple measurements are performed. +First, the tolerances (especially flatness) of the mechanical interfaces are checked in Section \ref{ssec:test_apa_geometrical_measurements}. +Then, the capacitance of the piezoelectric stacks is measured in Section \ref{ssec:test_apa_electrical_measurements}. +The achievable stroke of the APA300ML is measured using a displacement probe in Section \ref{ssec:test_apa_stroke_measurements}. +Finally, in Section \ref{ssec:test_apa_spurious_resonances}, the flexible modes of the APA are measured and compared with a finite element model. + +\subsection{Geometrical Measurements} +\label{ssec:test_apa_geometrical_measurements} + +To measure the flatness of the two mechanical interfaces of the APA300ML, a small measurement bench is installed on top of a metrology granite with excellent flatness. +As shown in Figure \ref{fig:test_apa_flatness_setup}, the APA is fixed to a clamp while a measuring probe\footnote{Heidenhain MT25, specified accuracy of \(\pm 0.5\,\mu m\)} is used to measure the height of four points on each of the APA300ML interfaces. +From the X-Y-Z coordinates of the measured eight points, the flatness is estimated by best fitting\footnote{The Matlab \texttt{fminsearch} command is used to fit the plane} a plane through all the points. +The measured flatness values, summarized in Table \ref{tab:test_apa_flatness_meas}, are within the specifications. + +\begin{minipage}[b]{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.7\linewidth]{figs/test_apa_flatness_setup.png} +\captionof{figure}{\label{fig:test_apa_flatness_setup}Measurement setup for flatness estimation} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.49\textwidth} +\begin{center} +\begin{tabularx}{0.6\linewidth}{Xc} +\toprule + & \textbf{Flatness} \([\mu m]\)\\ +\midrule +APA 1 & 8.9\\ +APA 2 & 3.1\\ +APA 3 & 9.1\\ +APA 4 & 3.0\\ +APA 5 & 1.9\\ +APA 6 & 7.1\\ +APA 7 & 18.7\\ +\bottomrule +\end{tabularx} +\captionof{table}{\label{tab:test_apa_flatness_meas}Estimated flatness of the APA300ML interfaces} + +\end{center} +\end{minipage} + +\subsection{Electrical Measurements} +\label{ssec:test_apa_electrical_measurements} + +From the documentation of the APA300ML, the total capacitance of the three stacks should be between \(18\,\mu F\) and \(26\,\mu F\) with a nominal capacitance of \(20\,\mu F\). + +The capacitance of the APA300ML piezoelectric stacks was measured with the LCR meter\footnote{LCR-819 from Gwinstek, with a specified accuracy of \(0.05\%\). The measured frequency is set at \(1\,\text{kHz}\)} shown in Figure \ref{fig:test_apa_lcr_meter}. +The two stacks used as the actuator and the stack used as the force sensor were measured separately. +The measured capacitance values are summarized in Table \ref{tab:test_apa_capacitance} and the average capacitance of one stack is \(\approx 5 \mu F\). +However, the measured capacitance of the stacks of ``APA 3'' is only half of the expected capacitance. +This may indicate a manufacturing defect. + +The measured capacitance is found to be lower than the specified value. +This may be because the manufacturer measures the capacitance with large signals (\(-20\,V\) to \(150\,V\)), whereas it was here measured with small signals \cite{wehrsdorfer95_large_signal_measur_piezoel_stack}. + +\begin{minipage}[b]{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_lcr_meter.jpg} +\captionof{figure}{\label{fig:test_apa_lcr_meter}Used LCR meter} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.49\textwidth} +\begin{center} +\begin{tabularx}{0.95\linewidth}{lcc} +\toprule + & \textbf{Sensor Stack} & \textbf{Actuator Stacks}\\ +\midrule +APA 1 & 5.10 & 10.03\\ +APA 2 & 4.99 & 9.85\\ +APA 3 & 1.72 & 5.18\\ +APA 4 & 4.94 & 9.82\\ +APA 5 & 4.90 & 9.66\\ +APA 6 & 4.99 & 9.91\\ +APA 7 & 4.85 & 9.85\\ +\bottomrule +\end{tabularx} +\captionof{table}{\label{tab:test_apa_capacitance}Measured capacitance in \(\mu F\)} + +\end{center} +\end{minipage} + +\subsection{Stroke and Hysteresis Measurement} +\label{ssec:test_apa_stroke_measurements} + +To compare the stroke of the APA300ML with the datasheet specifications, one side of the APA is fixed to the granite, and a displacement probe\footnote{Millimar 1318 probe, specified linearity better than \(1\,\mu m\)} is located on the other side as shown in Figure \ref{fig:test_apa_stroke_bench}. + +The voltage across the two actuator stacks is varied from \(-20\,V\) to \(150\,V\) using a DAC\footnote{The DAC used is the one included in the IO131 card sold by Speedgoat. It has an output range of \(\pm 10\,V\) and 16-bits resolution} and a voltage amplifier\footnote{PD200 from PiezoDrive. The gain is \(20\,V/V\)}. +Note that the voltage is slowly varied as the displacement probe has a very low measurement bandwidth (see Figure \ref{fig:test_apa_stroke_voltage}). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.7\linewidth]{figs/test_apa_stroke_bench.jpg} +\caption{\label{fig:test_apa_stroke_bench}Bench to measure the APA stroke} +\end{figure} + +The measured APA displacement is shown as a function of the applied voltage in Figure \ref{fig:test_apa_stroke_hysteresis}. +Typical hysteresis curves for piezoelectric stack actuators can be observed. +The measured stroke is approximately \(250\,\mu m\) when using only two of the three stacks. +This is even above what is specified as the nominal stroke in the data-sheet (\(304\,\mu m\), therefore \(\approx 200\,\mu m\) if only two stacks are used). +For the NASS, this stroke is sufficient because the positioning errors to be corrected using the nano-hexapod are expected to be in the order of \(10\,\mu m\). + +It is clear from Figure \ref{fig:test_apa_stroke_hysteresis} that ``APA 3'' has an issue compared with the other units. +This confirms the abnormal electrical measurements made in Section \ref{ssec:test_apa_electrical_measurements}. +This unit was sent sent back to Cedrat, and a new one was shipped back. +From now on, only the six remaining amplified piezoelectric actuators that behave as expected will be used. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_stroke_voltage.png} +\end{center} +\subcaption{\label{fig:test_apa_stroke_voltage}Applied voltage for stroke estimation} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_stroke_hysteresis.png} +\end{center} +\subcaption{\label{fig:test_apa_stroke_hysteresis}Hysteresis curves of the APA} +\end{subfigure} +\caption{\label{fig:test_apa_stroke}Generated voltage across the two piezoelectric stack actuators to estimate the stroke of the APA300ML \subref{fig:test_apa_stroke_voltage}. Measured displacement as a function of applied voltage \subref{fig:test_apa_stroke_hysteresis}} +\end{figure} + +\subsection{Flexible Mode Measurement} +\label{ssec:test_apa_spurious_resonances} + +In this section, the flexible modes of the APA300ML are investigated both experimentally and using a Finite Element Model. +To experimentally estimate these modes, the APA is fixed at one end (see Figure \ref{fig:test_apa_meas_setup_modes}). +A Laser Doppler Vibrometer\footnote{Polytec controller 3001 with sensor heads OFV512} is used to measure the difference of motion between two ``red'' points and an instrumented hammer\footnote{Kistler 9722A} is used to excite the flexible modes. +Using this setup, the transfer function from the injected force to the measured rotation can be computed under different conditions, and the frequency and mode shapes of the flexible modes can be estimated. + +The flexible modes for the same condition (i.e. one mechanical interface of the APA300ML fixed) are estimated using a finite element software, and the results are shown in Figure \ref{fig:test_apa_mode_shapes}. + +\begin{figure}[htbp] +\begin{subfigure}{0.35\textwidth} +\begin{center} +\includegraphics[scale=1,height=4.3cm]{figs/test_apa_mode_shapes_1.png} +\end{center} +\subcaption{\label{fig:test_apa_mode_shapes_1}Y-bending mode (268Hz)} +\end{subfigure} +\begin{subfigure}{0.27\textwidth} +\begin{center} +\includegraphics[scale=1,height=4.3cm]{figs/test_apa_mode_shapes_2.png} +\end{center} +\subcaption{\label{fig:test_apa_mode_shapes_2}X-bending mode (399Hz)} +\end{subfigure} +\begin{subfigure}{0.35\textwidth} +\begin{center} +\includegraphics[scale=1,height=4.3cm]{figs/test_apa_mode_shapes_3.png} +\end{center} +\subcaption{\label{fig:test_apa_mode_shapes_3}Z-axial mode (706Hz)} +\end{subfigure} +\caption{\label{fig:test_apa_mode_shapes}First three modes of the APA300ML in a fix-free condition estimated from a Finite Element Model} +\end{figure} + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_meas_setup_X_bending.jpg} +\end{center} +\subcaption{\label{fig:test_apa_meas_setup_X_bending}$X$ bending} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_meas_setup_Y_bending.jpg} +\end{center} +\subcaption{\label{fig:test_apa_meas_setup_Y_bending}$Y$ Bending} +\end{subfigure} +\caption{\label{fig:test_apa_meas_setup_modes}Experimental setup to measure the flexible modes of the APA300ML. For the bending in the \(X\) direction \subref{fig:test_apa_meas_setup_X_bending}, the impact point is at the back of the top measurement point. For the bending in the \(Y\) direction \subref{fig:test_apa_meas_setup_Y_bending}, the impact point is located on the back surface of the top interface (on the back of the 2 measurements points).} +\end{figure} + +The measured frequency response functions computed from the experimental setups of figures \ref{fig:test_apa_meas_setup_X_bending} and \ref{fig:test_apa_meas_setup_Y_bending} are shown in Figure \ref{fig:test_apa_meas_freq_compare}. +The \(y\) bending mode is observed at \(280\,\text{Hz}\) and the \(x\) bending mode is at \(412\,\text{Hz}\). +These modes are measured at higher frequencies than the frequencies estimated from the Finite Element Model (see frequencies in Figure \ref{fig:test_apa_mode_shapes}). +This is the opposite of what is usually observed (i.e. having lower resonance frequencies in practice than the estimation from a finite element model). +This could be explained by underestimation of the Young's modulus of the steel used for the shell (190 GPa was used for the model, but steel with Young's modulus of 210 GPa could have been used). +Another explanation is the shape difference between the manufactured APA300ML and the 3D model, for instance thicker blades. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_apa_meas_freq_compare.png} +\caption{\label{fig:test_apa_meas_freq_compare}Frequency response functions for the two tests using the instrumented hammer and the laser vibrometer. The Y-bending mode is measured at \(280\,\text{Hz}\) and the X-bending mode at \(412\,\text{Hz}\)} +\end{figure} + +\subsection{Dynamical measurements} +\label{sec:test_apa_dynamics} +After the measurements on the APA were performed in Section \ref{sec:test_apa_basic_meas}, a new test bench was used to better characterize the dynamics of the APA300ML. +This test bench, depicted in Figure \ref{fig:test_bench_apa}, comprises the APA300ML fixed at one end to a stationary granite block and at the other end to a 5kg granite block that is vertically guided by an air bearing. +Thus, there is no friction when actuating the APA300ML, and it will be easier to characterize its behavior independently of other factors. +An encoder\footnote{Renishaw Vionic, resolution of \(2.5\,nm\)} is used to measure the relative movement between the two granite blocks, thereby measuring the axial displacement of the APA. + +\begin{figure}[htbp] +\begin{subfigure}{0.3\textwidth} +\begin{center} +\includegraphics[scale=1,height=8cm]{figs/test_apa_bench_picture.jpg} +\end{center} +\subcaption{\label{fig:test_apa_bench_picture}Picture of the test bench} +\end{subfigure} +\begin{subfigure}{0.69\textwidth} +\begin{center} +\includegraphics[scale=1,height=8cm]{figs/test_apa_bench_picture_encoder.jpg} +\end{center} +\subcaption{\label{fig:test_apa_bench_picture_encoder}Zoom on the APA with the encoder} +\end{subfigure} +\caption{\label{fig:test_bench_apa}Schematic of the test bench used to estimate the dynamics of the APA300ML} +\end{figure} + +The bench is schematically shown in Figure \ref{fig:test_apa_schematic} with the associated signals. +It will be first used to estimate the hysteresis from the piezoelectric stack (Section \ref{ssec:test_apa_hysteresis}) as well as the axial stiffness of the APA300ML (Section \ref{ssec:test_apa_stiffness}). +The frequency response functions from the DAC voltage \(u\) to the displacement \(d_e\) and to the voltage \(V_s\) are measured in Section \ref{ssec:test_apa_meas_dynamics}. +The presence of a non-minimum phase zero found on the transfer function from \(u\) to \(V_s\) is investigated in Section \ref{ssec:test_apa_non_minimum_phase}. +To limit the low-frequency gain of the transfer function from \(u\) to \(V_s\), a resistor is added across the force sensor stack (Section \ref{ssec:test_apa_resistance_sensor_stack}). +Finally, the Integral Force Feedback is implemented, and the amount of damping added is experimentally estimated in Section \ref{ssec:test_apa_iff_locus}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,scale=1]{figs/test_apa_schematic.png} +\caption{\label{fig:test_apa_schematic}Schematic of the Test Bench used to measure the dynamics of the APA300ML. \(u\) is the output DAC voltage, \(V_a\) the output amplifier voltage (i.e. voltage applied across the actuator stacks), \(d_e\) the measured displacement by the encoder and \(V_s\) the measured voltage across the sensor stack.} +\end{figure} +\subsection{Hysteresis} +\label{ssec:test_apa_hysteresis} + +Because the payload is vertically guided without friction, the hysteresis of the APA can be estimated from the motion of the payload. +A quasi static\footnote{Frequency of the sinusoidal wave is \(1\,\text{Hz}\)} sinusoidal excitation \(V_a\) with an offset of \(65\,V\) (halfway between \(-20\,V\) and \(150\,V\)) and with an amplitude varying from \(4\,V\) up to \(80\,V\) is generated using the DAC. +For each excitation amplitude, the vertical displacement \(d_e\) of the mass is measured and displayed as a function of the applied voltage in Figure \ref{fig:test_apa_meas_hysteresis}. +This is the typical behavior expected from a PZT stack actuator, where the hysteresis increases as a function of the applied voltage amplitude \cite[chap. 1.4]{fleming14_desig_model_contr_nanop_system}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_apa_meas_hysteresis.png} +\caption{\label{fig:test_apa_meas_hysteresis}Displacement as a function of applied voltage for multiple excitation amplitudes} +\end{figure} + +\subsection{Axial stiffness} +\label{ssec:test_apa_stiffness} + +To estimate the stiffness of the APA, a weight with known mass \(m_a = 6.4\,\text{kg}\) is added on top of the suspended granite and the deflection \(\Delta d_e\) is measured using the encoder. +The APA stiffness can then be estimated from equation \eqref{eq:test_apa_stiffness}, with \(g \approx 9.8\,m/s^2\) the acceleration of gravity. + +\begin{equation} \label{eq:test_apa_stiffness} + k_{\text{apa}} = \frac{m_a g}{\Delta d_e} +\end{equation} + +The measured displacement \(d_e\) as a function of time is shown in Figure \ref{fig:test_apa_meas_stiffness_time}. +It can be seen that there are some drifts in the measured displacement (probably due to piezoelectric creep), and that the displacement does not return to the initial position after the mass is removed (probably due to piezoelectric hysteresis). +These two effects induce some uncertainties in the measured stiffness. + +The stiffnesses are computed for all APAs from the two displacements \(d_1\) and \(d_2\) (see Figure \ref{fig:test_apa_meas_stiffness_time}) leading to two stiffness estimations \(k_1\) and \(k_2\). +These estimated stiffnesses are summarized in Table \ref{tab:test_apa_measured_stiffnesses} and are found to be close to the specified nominal stiffness of the APA300ML \(k = 1.8\,N/\mu m\). + +\begin{minipage}[b]{0.57\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_apa_meas_stiffness_time.png} +\captionof{figure}{\label{fig:test_apa_meas_stiffness_time}Measured displacement when adding (at \(t \approx 3\,s\)) and removing (at \(t \approx 13\,s\)) the mass} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.37\textwidth} +\begin{center} +\begin{tabularx}{0.6\linewidth}{Xcc} +\toprule +APA & \(k_1\) & \(k_2\)\\ +\midrule +1 & 1.68 & 1.9\\ +2 & 1.69 & 1.9\\ +4 & 1.7 & 1.91\\ +5 & 1.7 & 1.93\\ +6 & 1.7 & 1.92\\ +8 & 1.73 & 1.98\\ +\bottomrule +\end{tabularx} +\captionof{table}{\label{tab:test_apa_measured_stiffnesses}Measured axial stiffnesses (in \(N/\mu m\))} + +\end{center} +\end{minipage} + +The stiffness can also be computed using equation \eqref{eq:test_apa_res_freq} by knowing the main vertical resonance frequency \(\omega_z \approx 95\,\text{Hz}\) (estimated by the dynamical measurements shown in section \ref{ssec:test_apa_meas_dynamics}) and the suspended mass \(m_{\text{sus}} = 5.7\,\text{kg}\). + +\begin{equation} \label{eq:test_apa_res_freq} +\omega_z = \sqrt{\frac{k}{m_{\text{sus}}}} +\end{equation} + +The obtained stiffness is \(k \approx 2\,N/\mu m\) which is close to the values found in the documentation and using the ``static deflection'' method. + +It is important to note that changes to the electrical impedance connected to the piezoelectric stacks affect the mechanical compliance (or stiffness) of the piezoelectric stack \cite[chap. 2]{reza06_piezoel_trans_vibrat_contr_dampin}. + +To estimate this effect for the APA300ML, its stiffness is estimated using the ``static deflection'' method in two cases: \begin{itemize} -\item APA -\item Strut -\item Nano-hexapod on suspended table -\item Nano-hexapod with Spindle +\item \(k_{\text{os}}\): piezoelectric stacks left unconnected (or connect to the high impedance ADC) +\item \(k_{\text{sc}}\): piezoelectric stacks short-circuited (or connected to the voltage amplifier with small output impedance) \end{itemize} -\section{Amplified Piezoelectric Actuator} +The open-circuit stiffness is estimated at \(k_{\text{oc}} \approx 2.3\,N/\mu m\) while the closed-circuit stiffness \(k_{\text{sc}} \approx 1.7\,N/\mu m\). + +\subsection{Dynamics} +\label{ssec:test_apa_meas_dynamics} + +In this section, the dynamics from the excitation voltage \(u\) to the encoder measured displacement \(d_e\) and to the force sensor voltage \(V_s\) is identified. + +First, the dynamics from \(u\) to \(d_e\) for the six APA300ML are compared in Figure \ref{fig:test_apa_frf_encoder}. +The obtained frequency response functions are similar to those of a (second order) mass-spring-damper system with: +\begin{itemize} +\item A ``stiffness line'' indicating a static gain equal to \(\approx -17\,\mu m/V\). +The negative sign comes from the fact that an increase in voltage stretches the piezoelectric stack which reduces the height of the APA +\item A lightly damped resonance at \(95\,\text{Hz}\) +\item A ``mass line'' up to \(\approx 800\,\text{Hz}\), above which additional resonances appear. These additional resonances might be due to the limited stiffness of the encoder support or from the limited compliance of the APA support. +The flexible modes studied in section \ref{ssec:test_apa_spurious_resonances} seem not to impact the measured axial motion of the actuator. +\end{itemize} + +The dynamics from \(u\) to the measured voltage across the sensor stack \(V_s\) for the six APA300ML are compared in Figure \ref{fig:test_apa_frf_force}. + +A lightly damped resonance (pole) is observed at \(95\,\text{Hz}\) and a lightly damped anti-resonance (zero) at \(41\,\text{Hz}\). +No additional resonances are present up to at least \(2\,\text{kHz}\) indicating that Integral Force Feedback can be applied without stability issues from high-frequency flexible modes. +The zero at \(41\,\text{Hz}\) seems to be non-minimum phase (the phase \emph{decreases} by 180 degrees whereas it should have \emph{increased} by 180 degrees for a minimum phase zero). +This is investigated in Section \ref{ssec:test_apa_non_minimum_phase}. + +As illustrated by the Root Locus plot, the poles of the \emph{closed-loop} system converges to the zeros of the \emph{open-loop} plant as the feedback gain increases. +The significance of this behavior varies with the type of sensor used, as explained in \cite[chap. 7.6]{preumont18_vibrat_contr_activ_struc_fourt_edition}. +Considering the transfer function from \(u\) to \(V_s\), if a controller with a very high gain is applied such that the sensor stack voltage \(V_s\) is kept at zero, the sensor (and by extension, the actuator stacks since they are in series) experiences negligible stress and strain. +Consequently, the closed-loop system virtually corresponds to one in which the piezoelectric stacks are absent, leaving only the mechanical shell. +From this analysis, it can be inferred that the axial stiffness of the shell is \(k_{\text{shell}} = m \omega_0^2 = 5.7 \cdot (2\pi \cdot 41)^2 = 0.38\,N/\mu m\) (which is close to what is found using a finite element model). + +All the identified dynamics of the six APA300ML (both when looking at the encoder in Figure \ref{fig:test_apa_frf_encoder} and at the force sensor in Figure \ref{fig:test_apa_frf_force}) are almost identical, indicating good manufacturing repeatability for the piezoelectric stacks and the mechanical shell. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_frf_encoder.png} +\end{center} +\subcaption{\label{fig:test_apa_frf_encoder}FRF from $u$ to $d_e$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_frf_force.png} +\end{center} +\subcaption{\label{fig:test_apa_frf_force}FRF from $u$ to $V_s$} +\end{subfigure} +\caption{\label{fig:test_apa_frf_dynamics}Measured frequency response function from generated voltage \(u\) to the encoder displacement \(d_e\) \subref{fig:test_apa_frf_encoder} and to the force sensor voltage \(V_s\) \subref{fig:test_apa_frf_force} for the six APA300ML} +\end{figure} + +\subsection{Non Minimum Phase Zero?} +\label{ssec:test_apa_non_minimum_phase} + +It was surprising to observe a non-minimum phase zero on the transfer function from \(u\) to \(V_s\) (Figure \ref{fig:test_apa_frf_force}). +It was initially thought that this non-minimum phase behavior was an artifact arising from the measurement. +A longer measurement was performed using different excitation signals (noise, slow sine sweep, etc.) to determine if the phase behavior of the zero changes (Figure \ref{fig:test_apa_non_minimum_phase}). +The coherence (Figure \ref{fig:test_apa_non_minimum_phase_coherence}) is good even in the vicinity of the lightly damped zero, and the phase (Figure \ref{fig:test_apa_non_minimum_phase_zoom}) clearly indicates non-minimum phase behavior. + +Such non-minimum phase zero when using load cells has also been observed on other mechanical systems \cite{spanos95_soft_activ_vibrat_isolat,thayer02_six_axis_vibrat_isolat_system,hauge04_sensor_contr_space_based_six}. +It could be induced to small non-linearity in the system, but the reason for this non-minimum phase for the APA300ML is not yet clear. + +However, this is not so important here because the zero is lightly damped (i.e. very close to the imaginary axis), and the closed loop poles (see the Root Locus plot in Figure \ref{fig:test_apa_iff_root_locus}) should not be unstable, except for very large controller gains that will never be applied in practice. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_non_minimum_phase_coherence.png} +\end{center} +\subcaption{\label{fig:test_apa_non_minimum_phase_coherence} Coherence} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_non_minimum_phase_zoom.png} +\end{center} +\subcaption{\label{fig:test_apa_non_minimum_phase_zoom} Zoom on the non-minimum phase zero} +\end{subfigure} +\caption{\label{fig:test_apa_non_minimum_phase}Measurement of the anti-resonance found in the transfer function from \(u\) to \(V_s\). The coherence \subref{fig:test_apa_non_minimum_phase_coherence} is quite good around the anti-resonance frequency. The phase \subref{fig:test_apa_non_minimum_phase_zoom} shoes a non-minimum phase behavior.} +\end{figure} + +\subsection{Effect of the resistor on the IFF Plant} +\label{ssec:test_apa_resistance_sensor_stack} + +A resistor \(R \approx 80.6\,k\Omega\) is added in parallel with the sensor stack, which forms a high-pass filter with the capacitance of the piezoelectric stack (capacitance estimated at \(\approx 5\,\mu F\)). + +As explained before, this is done to limit the voltage offset due to the input bias current of the ADC as well as to limit the low frequency gain. + +The (low frequency) transfer function from \(u\) to \(V_s\) with and without this resistor were measured and compared in Figure \ref{fig:test_apa_effect_resistance}. +It is confirmed that the added resistor has the effect of adding a high-pass filter with a cut-off frequency of \(\approx 0.39\,\text{Hz}\). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_apa_effect_resistance.png} +\caption{\label{fig:test_apa_effect_resistance}Transfer function from \(u\) to \(V_s\) with and without the resistor \(R\) in parallel with the piezoelectric stack used as the force sensor} +\end{figure} + +\subsection{Integral Force Feedback} +\label{ssec:test_apa_iff_locus} + +To implement the Integral Force Feedback strategy, the measured frequency response function from \(u\) to \(V_s\) (Figure \ref{fig:test_apa_frf_force}) is fitted using the transfer function shown in equation \eqref{eq:test_apa_iff_manual_fit}. +The parameters were manually tuned, and the obtained values are \(\omega_{\textsc{hpf}} = 0.4\, \text{Hz}\), \(\omega_{z} = 42.7\, \text{Hz}\), \(\xi_{z} = 0.4\,\%\), \(\omega_{p} = 95.2\, \text{Hz}\), \(\xi_{p} = 2\,\%\) and \(g_0 = 0.64\). + +\begin{equation} \label{eq:test_apa_iff_manual_fit} +G_{\textsc{iff},m}(s) = g_0 \cdot \frac{1 + 2 \xi_z \frac{s}{\omega_z} + \frac{s^2}{\omega_z^2}}{1 + 2 \xi_p \frac{s}{\omega_p} + \frac{s^2}{\omega_p^2}} \cdot \frac{s}{\omega_{\textsc{hpf}} + s} +\end{equation} + +A comparison between the identified plant and the manually tuned transfer function is shown in Figure \ref{fig:test_apa_iff_plant_comp_manual_fit}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_apa_iff_plant_comp_manual_fit.png} +\caption{\label{fig:test_apa_iff_plant_comp_manual_fit}Identified IFF plant and manually tuned model of the plant (a time delay of \(200\,\mu s\) is added to the model of the plant to better match the identified phase). Note that a minimum-phase zero is identified here even though the coherence is not good around the frequency of the zero.} +\end{figure} + +The implemented Integral Force Feedback Controller transfer function is shown in equation \eqref{eq:test_apa_Kiff_formula}. +It contains a high-pass filter (cut-off frequency of \(2\,\text{Hz}\)) to limit the low-frequency gain, a low-pass filter to add integral action above \(20\,\text{Hz}\), a second low-pass filter to add robustness to high-frequency resonances, and a tunable gain \(g\). + +\begin{equation} \label{eq:test_apa_Kiff_formula} +K_{\textsc{iff}}(s) = -10 \cdot g \cdot \frac{s}{s + 2\pi \cdot 2} \cdot \frac{1}{s + 2\pi \cdot 20} \cdot \frac{1}{s + 2\pi\cdot 2000} +\end{equation} + +To estimate how the dynamics of the APA changes when the Integral Force Feedback controller is implemented, the test bench shown in Figure \ref{fig:test_apa_iff_schematic} is used. +The transfer function from the ``damped'' plant input \(u\prime\) to the encoder displacement \(d_e\) is identified for several IFF controller gains \(g\). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_apa_iff_schematic.png} +\caption{\label{fig:test_apa_iff_schematic}Implementation of Integral Force Feedback in the Speedgoat. The damped plant has a new input \(u\prime\)} +\end{figure} + +The identified dynamics were then fitted by second order transfer functions\footnote{The transfer function fitting was computed using the \texttt{vectfit3} routine, see \cite{gustavsen99_ration_approx_frequen_domain_respon}}. +A comparison between the identified damped dynamics and the fitted second-order transfer functions is shown in Figure \ref{fig:test_apa_identified_damped_plants} for different gains \(g\). +It is clear that a large amount of damping is added when the gain is increased and that the frequency of the pole is shifted to lower frequencies. + +The evolution of the pole in the complex plane as a function of the controller gain \(g\) (i.e. the ``root locus'') is computed in two cases. +First using the IFF plant model \eqref{eq:test_apa_iff_manual_fit} and the implemented controller \eqref{eq:test_apa_Kiff_formula}. +Second using the fitted transfer functions of the damped plants experimentally identified for several controller gains. +The two obtained root loci are compared in Figure \ref{fig:test_apa_iff_root_locus} and are in good agreement considering that the damped plants were fitted using only a second-order transfer function. + +\begin{figure}[htbp] +\begin{subfigure}{0.59\textwidth} +\begin{center} +\includegraphics[scale=1,height=8cm]{figs/test_apa_identified_damped_plants.png} +\end{center} +\subcaption{\label{fig:test_apa_identified_damped_plants}Measured frequency response functions of damped plants for several IFF gains (solid lines). Identified 2nd order plants that match the experimental data (dashed lines)} +\end{subfigure} +\begin{subfigure}{0.39\textwidth} +\begin{center} +\includegraphics[scale=1,height=8cm]{figs/test_apa_iff_root_locus.png} +\end{center} +\subcaption{\label{fig:test_apa_iff_root_locus}Root Locus plot using the plant model (black) and poles of the identified damped plants (color crosses)} +\end{subfigure} +\caption{\label{fig:test_apa_iff}Experimental results of applying Integral Force Feedback to the APA300ML. Obtained damped plant \subref{fig:test_apa_identified_damped_plants} and Root Locus \subref{fig:test_apa_iff_root_locus} corresponding to the implemented IFF controller \eqref{eq:test_apa_Kiff_formula}} +\end{figure} + +\subsection{APA300ML - 2 degrees-of-freedom Model} +\label{sec:test_apa_model_2dof} +In this section, a multi-body model (Figure \ref{fig:test_apa_bench_model}) of the measurement bench is used to tune the two degrees-of-freedom model of the APA using the measured frequency response functions. + +This two degrees-of-freedom model is developed to accurately represent the APA300ML dynamics while having low complexity and a low number of associated states. +After the model is presented, the procedure for tuning the model is described, and the obtained model dynamics is compared with the measurements. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.8\linewidth]{figs/test_apa_bench_model.png} +\caption{\label{fig:test_apa_bench_model}Screenshot of the multi-body model} +\end{figure} + +\paragraph{Two degrees-of-freedom APA Model} + +The model of the amplified piezoelectric actuator is shown in Figure \ref{fig:test_apa_2dof_model}. +It can be decomposed into three components: +\begin{itemize} +\item the shell whose axial properties are represented by \(k_1\) and \(c_1\) +\item the actuator stacks whose contribution to the axial stiffness is represented by \(k_a\) and \(c_a\). +The force source \(\tau\) represents the axial force induced by the force sensor stacks. +The sensitivity \(g_a\) (in \(N/m\)) is used to convert the applied voltage \(V_a\) to the axial force \(\tau\) +\item the sensor stack whose contribution to the axial stiffness is represented by \(k_e\) and \(c_e\). +A sensor measures the stack strain \(d_e\) which is then converted to a voltage \(V_s\) using a sensitivity \(g_s\) (in \(V/m\)) +\end{itemize} + +Such a simple model has some limitations: +\begin{itemize} +\item it only represents the axial characteristics of the APA as it is modeled as infinitely rigid in the other directions +\item some physical insights are lost, such as the amplification factor and the real stress and strain in the piezoelectric stacks +\item the creep and hysteresis of the piezoelectric stacks are not modeled as the model is linear +\end{itemize} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_apa_2dof_model.png} +\caption{\label{fig:test_apa_2dof_model}Schematic of the two degrees-of-freedom model of the APA300ML, adapted from \cite{souleille18_concep_activ_mount_space_applic}} +\end{figure} + +9 parameters (\(m\), \(k_1\), \(c_1\), \(k_e\), \(c_e\), \(k_a\), \(c_a\), \(g_s\) and \(g_a\)) have to be tuned such that the dynamics of the model (Figure \ref{fig:test_apa_2dof_model_simscape}) well represents the identified dynamics in Section \ref{sec:test_apa_dynamics}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_apa_2dof_model_simscape.png} +\caption{\label{fig:test_apa_2dof_model_simscape}Schematic of the two degrees-of-freedom model of the APA300ML with input \(V_a\) and outputs \(d_e\) and \(V_s\)} +\end{figure} + +First, the mass \(m\) supported by the APA300ML can be estimated from the geometry and density of the different parts or by directly measuring it using a precise weighing scale. +Both methods lead to an estimated mass of \(m = 5.7\,\text{kg}\). + +Then, the axial stiffness of the shell was estimated at \(k_1 = 0.38\,N/\mu m\) in Section \ref{ssec:test_apa_meas_dynamics} from the frequency of the anti-resonance seen on Figure \ref{fig:test_apa_frf_force}. +Similarly, \(c_1\) can be estimated from the damping ratio of the same anti-resonance and is found to be close to \(5\,Ns/m\). + +Then, it is reasonable to assume that the sensor stacks and the two actuator stacks have identical mechanical characteristics\footnote{Note that this is not completely correct as it was shown in Section \ref{ssec:test_apa_stiffness} that the electrical boundaries of the piezoelectric stack impacts its stiffness and that the sensor stack is almost open-circuited while the actuator stacks are almost short-circuited.}. +Therefore, we have \(k_e = 2 k_a\) and \(c_e = 2 c_a\) as the actuator stack is composed of two stacks in series. +In this case, the total stiffness of the APA model is described by \eqref{eq:test_apa_2dof_stiffness}. + +\begin{equation}\label{eq:test_apa_2dof_stiffness} +k_{\text{tot}} = k_1 + \frac{k_e k_a}{k_e + k_a} = k_1 + \frac{2}{3} k_a +\end{equation} + +Knowing from \eqref{eq:test_apa_tot_stiffness} that the total stiffness is \(k_{\text{tot}} = 2\,N/\mu m\), we get from \eqref{eq:test_apa_2dof_stiffness} that \(k_a = 2.5\,N/\mu m\) and \(k_e = 5\,N/\mu m\). + +\begin{equation}\label{eq:test_apa_tot_stiffness} +\omega_0 = \frac{k_{\text{tot}}}{m} \Longrightarrow k_{\text{tot}} = m \omega_0^2 = 2\,N/\mu m \quad \text{with}\ m = 5.7\,\text{kg}\ \text{and}\ \omega_0 = 2\pi \cdot 95\, \text{rad}/s +\end{equation} + +Then, \(c_a\) (and therefore \(c_e = 2 c_a\)) can be tuned to match the damping ratio of the identified resonance. +\(c_a = 50\,Ns/m\) and \(c_e = 100\,Ns/m\) are obtained. + +In the last step, \(g_s\) and \(g_a\) can be tuned to match the gain of the identified transfer functions. + +The obtained parameters of the model shown in Figure \ref{fig:test_apa_2dof_model_simscape} are summarized in Table \ref{tab:test_apa_2dof_parameters}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.3\linewidth}{cc} +\toprule +\textbf{Parameter} & \textbf{Value}\\ +\midrule +\(m\) & \(5.7\,\text{kg}\)\\ +\(k_1\) & \(0.38\,N/\mu m\)\\ +\(k_e\) & \(5.0\, N/\mu m\)\\ +\(k_a\) & \(2.5\,N/\mu m\)\\ +\(c_1\) & \(5\,Ns/m\)\\ +\(c_e\) & \(100\,Ns/m\)\\ +\(c_a\) & \(50\,Ns/m\)\\ +\(g_a\) & \(-2.58\,N/V\)\\ +\(g_s\) & \(0.46\,V/\mu m\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_apa_2dof_parameters}Summary of the obtained parameters for the 2 DoF APA300ML model} + +\end{table} + +The dynamics of the two degrees-of-freedom model of the APA300ML are extracted using optimized parameters (listed in Table \ref{tab:test_apa_2dof_parameters}) from the multi-body model. +This is compared with the experimental data in Figure \ref{fig:test_apa_2dof_comp_frf}. +A good match can be observed between the model and the experimental data, both for the encoder (Figure \ref{fig:test_apa_2dof_comp_frf_enc}) and for the force sensor (Figure \ref{fig:test_apa_2dof_comp_frf_force}). +This indicates that this model represents well the axial dynamics of the APA300ML. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_2dof_comp_frf_enc.png} +\end{center} +\subcaption{\label{fig:test_apa_2dof_comp_frf_enc}from $u$ to $d_e$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_2dof_comp_frf_force.png} +\end{center} +\subcaption{\label{fig:test_apa_2dof_comp_frf_force}from $u$ to $V_s$} +\end{subfigure} +\caption{\label{fig:test_apa_2dof_comp_frf}Comparison of the measured frequency response functions and the identified dynamics from the 2DoF model of the APA300ML. Both for the dynamics from \(u\) to \(d_e\) \subref{fig:test_apa_2dof_comp_frf_enc} \subref{fig:test_apa_2dof_comp_frf_force} and from \(u\) to \(V_s\) \subref{fig:test_apa_2dof_comp_frf_force}} +\end{figure} + +\subsection{APA300ML - Super Element} +\label{sec:test_apa_model_flexible} +In this section, a \emph{super element} of the APA300ML is computed using a finite element software\footnote{Ansys\textsuperscript{\textregistered} was used}. +It is then imported into multi-body (in the form of a stiffness matrix and a mass matrix) and included in the same model that was used in \ref{sec:test_apa_model_2dof}. +This procedure is illustrated in Figure \ref{fig:test_apa_super_element_simscape}. +Several \emph{remote points} are defined in the finite element model (here illustrated by colorful planes and numbers from \texttt{1} to \texttt{5}) and are then made accessible in Simscape as shown at the right by the ``frames'' \texttt{F1} to \texttt{F5}. + +For the APA300ML \emph{super element}, 5 \emph{remote points} are defined. +Two \emph{remote points} (\texttt{1} and \texttt{2}) are fixed to the top and bottom mechanical interfaces of the APA300ML and will be used to connect the APA300ML with other mechanical elements. +Two \emph{remote points} (\texttt{3} and \texttt{4}) are located across two piezoelectric stacks and are used to apply internal forces representing the actuator stacks. +Finally, two \emph{remote points} (\texttt{4} and \texttt{5}) are located across the third piezoelectric stack, and will be used to measured the strain of the sensor stack. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=1.0\linewidth]{figs/test_apa_super_element_simscape.png} +\caption{\label{fig:test_apa_super_element_simscape}Finite Element Model of the APA300ML with ``remotes points'' on the left. Simscape model with included ``Reduced Order Flexible Solid'' on the right.} +\end{figure} + +\paragraph{Identification of the Actuator and Sensor constants} + +Once the APA300ML \emph{super element} is included in the multi-body model, the transfer function from \(F_a\) to \(d_L\) and \(d_e\) can be extracted. +The gains \(g_a\) and \(g_s\) are then tuned such that the gains of the transfer functions match the identified ones. +By doing so, \(g_s = 4.9\,V/\mu m\) and \(g_a = 23.2\,N/V\) are obtained. + +To ensure that the sensitivities \(g_a\) and \(g_s\) are physically valid, it is possible to estimate them from the physical properties of the piezoelectric stack material. + +From \cite[p. 123]{fleming14_desig_model_contr_nanop_system}, the relation between relative displacement \(d_L\) of the sensor stack and generated voltage \(V_s\) is given by \eqref{eq:test_apa_piezo_strain_to_voltage} and from \cite{fleming10_integ_strain_force_feedb_high} the relation between the force \(F_a\) and the applied voltage \(V_a\) is given by \eqref{eq:test_apa_piezo_voltage_to_force}. + +\begin{subequations} +\begin{align} + V_s &= \underbrace{\frac{d_{33}}{\epsilon^T s^D n}}_{g_s} d_L \label{eq:test_apa_piezo_strain_to_voltage} \\ + F_a &= \underbrace{d_{33} n k_a}_{g_a} \cdot V_a, \quad k_a = \frac{c^{E} A}{L} \label{eq:test_apa_piezo_voltage_to_force} +\end{align} +\end{subequations} + +Unfortunately, the manufacturer of the stack was not willing to share the piezoelectric material properties of the stack used in the APA300ML. +However, based on the available properties of the APA300ML stacks in the data-sheet, the soft Lead Zirconate Titanate ``THP5H'' from Thorlabs seemed to match quite well the observed properties. +The properties of this ``THP5H'' material used to compute \(g_a\) and \(g_s\) are listed in Table \ref{tab:test_apa_piezo_properties}. + +From these parameters, \(g_s = 5.1\,V/\mu m\) and \(g_a = 26\,N/V\) were obtained, which are close to the constants identified using the experimentally identified transfer functions. + +\begin{table}[htbp] +\centering +\begin{tabularx}{1\linewidth}{ccX} +\toprule +\textbf{Parameter} & \textbf{Value} & \textbf{Description}\\ +\midrule +\(d_{33}\) & \(680 \cdot 10^{-12}\,m/V\) & Piezoelectric constant\\ +\(\epsilon^{T}\) & \(4.0 \cdot 10^{-8}\,F/m\) & Permittivity under constant stress\\ +\(s^{D}\) & \(21 \cdot 10^{-12}\,m^2/N\) & Elastic compliance understand constant electric displacement\\ +\(c^{E}\) & \(48 \cdot 10^{9}\,N/m^2\) & Young's modulus of elasticity\\ +\(L\) & \(20\,mm\) per stack & Length of the stack\\ +\(A\) & \(10^{-4}\,m^2\) & Area of the piezoelectric stack\\ +\(n\) & \(160\) per stack & Number of layers in the piezoelectric stack\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_apa_piezo_properties}Piezoelectric properties used for the estimation of the sensor and actuators sensitivities} + +\end{table} + +\paragraph{Comparison of the obtained dynamics} + +The obtained dynamics using the \emph{super element} with the tuned ``sensor sensitivity'' and ``actuator sensitivity'' are compared with the experimentally identified frequency response functions in Figure \ref{fig:test_apa_super_element_comp_frf}. +A good match between the model and the experimental results was observed. +It is however surprising that the model is ``softer'' than the measured system, as finite element models usually overestimate the stiffness (see Section \ref{ssec:test_apa_spurious_resonances} for possible explanations). + +Using this simple test bench, it can be concluded that the \emph{super element} model of the APA300ML captures the axial dynamics of the actuator (the actuator stacks, the force sensor stack as well as the shell used as a mechanical lever). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_super_element_comp_frf_enc.png} +\end{center} +\subcaption{\label{fig:test_apa_super_element_comp_frf_enc}from $u$ to $d_e$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_super_element_comp_frf_force.png} +\end{center} +\subcaption{\label{fig:test_apa_super_element_comp_frf_force}from $u$ to $V_s$} +\end{subfigure} +\caption{\label{fig:test_apa_super_element_comp_frf}Comparison of the measured frequency response functions and the identified dynamics from the finite element model of the APA300ML. Both for the dynamics from \(u\) to \(d_e\) \subref{fig:test_apa_super_element_comp_frf_enc} and from \(u\) to \(V_s\) \subref{fig:test_apa_super_element_comp_frf_force}} +\end{figure} + +\subsection{Conclusion} +\label{sec:test_apa_conclusion} + +In this study, the amplified piezoelectric actuators ``APA300ML'' have been characterized to ensure that they fulfill all the requirements determined during the detailed design phase. + +Geometrical features such as the flatness of its interfaces, electrical capacitance, and achievable strokes were measured in Section \ref{sec:test_apa_basic_meas}. +These simple measurements allowed for the early detection of a manufacturing defect in one of the APA300ML. + +Then in Section \ref{sec:test_apa_dynamics}, using a dedicated test bench, the dynamics of all the APA300ML were measured and were found to all match very well (Figure \ref{fig:test_apa_frf_dynamics}). +This consistency indicates good manufacturing tolerances, facilitating the modeling and control of the nano-hexapod. +Although a non-minimum zero was identified in the transfer function from \(u\) to \(V_s\) (Figure \ref{fig:test_apa_non_minimum_phase}), it was found not to be problematic because a large amount of damping could be added using the integral force feedback strategy (Figure \ref{fig:test_apa_iff}). + +Then, two different models were used to represent the APA300ML dynamics. +In Section \ref{sec:test_apa_model_2dof}, a simple two degrees-of-freedom mass-spring-damper model was presented and tuned based on the measured dynamics. +After following a tuning procedure, the model dynamics was shown to match very well with the experiment. +However, this model only represents the axial dynamics of the actuators, assuming infinite stiffness in other directions. + +In Section \ref{sec:test_apa_model_flexible}, a \emph{super element} extracted from a finite element model was used to model the APA300ML. +Here, the \emph{super element} represents the dynamics of the APA300ML in all directions. +However, only the axial dynamics could be compared with the experimental results, yielding a good match. +The benefit of employing this model over the two degrees-of-freedom model is not immediately apparent due to its increased complexity and the larger number of model states involved. +Nonetheless, the \emph{super element} model's value will become clear in subsequent sections, when its capacity to accurately model the APA300ML's flexibility across various directions will be important. \section{Flexible Joints} +At both ends of the nano-hexapod struts, a flexible joint is used. +Ideally, these flexible joints would behave as perfect spherical joints, that is to say no bending and torsional stiffness, infinite shear and axial stiffness, unlimited bending and torsional stroke, no friction, and no backlash. + +Deviations from these ideal properties will impact the dynamics of the Nano-Hexapod and could limit the attainable performance. +During the detailed design phase, specifications in terms of stiffness and stroke were determined and are summarized in Table \ref{tab:test_joints_specs}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.5\linewidth}{Xcc} +\toprule + & \textbf{Specification} & \textbf{FEM}\\ +\midrule +Axial Stiffness & \(> 100\,N/\mu m\) & 94\\ +Shear Stiffness & \(> 1\,N/\mu m\) & 13\\ +Bending Stiffness & \(< 100\,Nm/\text{rad}\) & 5\\ +Torsion Stiffness & \(< 500\,Nm/\text{rad}\) & 260\\ +Bending Stroke & \(> 1\,\text{mrad}\) & 24.5\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_joints_specs}Specifications for the flexible joints and estimated characteristics from the Finite Element Model} + +\end{table} + +After optimization using a finite element model, the geometry shown in Figure \ref{fig:test_joints_schematic} has been obtained and the corresponding flexible joint characteristics are summarized in Table \ref{tab:test_joints_specs}. +This flexible joint is a monolithic piece of stainless steel\footnote{The alloy used is called \emph{F16PH}, also refereed as ``1.4542''} manufactured using wire electrical discharge machining. +It serves several functions, as shown in Figure \ref{fig:test_joints_iso}, such as: +\begin{itemize} +\item Rigid interfacing with the nano-hexapod plates (yellow surfaces) +\item Rigid interfacing with the amplified piezoelectric actuator (blue surface) +\item Allow two rotations between the ``yellow'' and the ``blue'' interfaces. +The rotation axes are represented by the dashed lines that intersect +\end{itemize} + +\begin{figure}[htbp] +\begin{subfigure}{0.38\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_joints_iso.png} +\end{center} +\subcaption{\label{fig:test_joints_iso}ISO view} +\end{subfigure} +\begin{subfigure}{0.29\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_joints_yz_plane.png} +\end{center} +\subcaption{\label{fig:test_joints_yz_plane}YZ plane} +\end{subfigure} +\begin{subfigure}{0.29\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_joints_xz_plane.png} +\end{center} +\subcaption{\label{fig:test_joints_xz_plane}XZ plane} +\end{subfigure} +\caption{\label{fig:test_joints_schematic}Geometry of the optimized flexible joints} +\end{figure} + +Sixteen flexible joints have been ordered (shown in Figure \ref{fig:test_joints_received}) such that some selection can be made for the twelve that will be used on the nano-hexapod. + +\begin{figure}[htbp] +\begin{subfigure}{0.64\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.5cm]{figs/test_joints_received.jpg} +\end{center} +\subcaption{\label{fig:test_joints_received}15 of the 16 received flexible joints} +\end{subfigure} +\begin{subfigure}{0.35\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.5cm]{figs/test_joints_received_zoom.jpg} +\end{center} +\subcaption{\label{fig:test_joints_received_zoom}Zoom on one flexible joint} +\end{subfigure} +\caption{\label{fig:test_joints_picture}Pictures of the received 16 flexible joints} +\end{figure} + +In this document, the received flexible joints are characterized to ensure that they fulfill the requirements and such that they can well be modeled. + +First, the flexible joints are visually inspected, and the minimum gaps (responsible for most of the joint compliance) are measured (Section \ref{sec:test_joints_flex_dim_meas}). +Then, a test bench was developed to measure the bending stiffness of the flexible joints. +The development of this test bench is presented in Section \ref{sec:test_joints_test_bench_desc}, including a noise budget and some requirements in terms of instrumentation. +The test bench is then used to measure the bending stiffnesses of all the flexible joints. +Results are shown in Section \ref{sec:test_joints_bending_stiffness_meas} + +\subsection{Dimensional Measurements} +\label{sec:test_joints_flex_dim_meas} +\subsection{Measurement Bench} + +Two dimensions are critical for the bending stiffness of the flexible joints. +These dimensions can be measured using a profilometer. +The dimensions of the flexible joint in the Y-Z plane will contribute to the X-bending stiffness, whereas the dimensions in the X-Z plane will contribute to the Y-bending stiffness. + +The setup used to measure the dimensions of the ``X'' flexible beam is shown in Figure \ref{fig:test_joints_profilometer_setup}. +What is typically observed is shown in Figure \ref{fig:test_joints_profilometer_image}. +It is then possible to estimate the dimension of the flexible beam with an accuracy of \(\approx 5\,\mu m\), + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_profilometer_setup.jpg} +\end{center} +\subcaption{\label{fig:test_joints_profilometer_setup}Flexible joint fixed on the profilometer} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_joints_profilometer_image.png} +\end{center} +\subcaption{\label{fig:test_joints_profilometer_image}Picture of the gap} +\end{subfigure} +\caption{\label{fig:test_joints_profilometer}Setup to measure the dimension of the flexible beam corresponding to the X-bending stiffness. The flexible joint is fixed to the profilometer \subref{fig:test_joints_profilometer_setup} and a image is obtained with which the gap can be estimated \subref{fig:test_joints_profilometer_image}} +\end{figure} + +\subsection{Measurement Results} +The specified flexible beam thickness (gap) is \(250\,\mu m\). +Four gaps are measured for each flexible joint (2 in the \(x\) direction and 2 in the \(y\) direction). +The ``beam thickness'' is then estimated as the mean between the gaps measured on opposite sides. + +A histogram of the measured beam thicknesses is shown in Figure \ref{fig:test_joints_size_hist}. +The measured thickness is less than the specified value of \(250\,\mu m\), but this optical method may not be very accurate because the estimated gap can depend on the lighting of the part and of its proper alignment. + +However, what is more important than the true value of the thickness is the consistency between all flexible joints. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_joints_size_hist.png} +\caption{\label{fig:test_joints_size_hist}Histogram for the (16x2) measured beams' thicknesses} +\end{figure} + +\subsection{Bad flexible joints} + +Using this profilometer allowed to detect flexible joints with manufacturing defects such as non-symmetrical shapes (see Figure \ref{fig:test_joints_bad_shape}) or flexible joints with machining chips stuck in the gap (see Figure \ref{fig:test_joints_bad_chips}). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/test_joints_bad_shape.jpg} +\end{center} +\subcaption{\label{fig:test_joints_bad_shape}Non-Symmetrical shape} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/test_joints_bad_chips.jpg} +\end{center} +\subcaption{\label{fig:test_joints_bad_chips}"Chips" stuck in the air gap} +\end{subfigure} +\caption{\label{fig:test_joints_bad}Example of two flexible joints that were considered unsatisfactory after visual inspection} +\end{figure} + +\subsection{Compliance Measurement Test Bench} +\label{sec:test_joints_test_bench_desc} +The most important characteristic of the flexible joint to be measured is its bending stiffness \(k_{R_x} \approx k_{R_y}\). + +To estimate the bending stiffness, the basic idea is to apply a torque \(T_{x}\) to the flexible joints and to measure its angular deflection \(\theta_{x}\). +The bending stiffness can then be computed from equation \eqref{eq:test_joints_bending_stiffness}. + +\begin{equation}\label{eq:test_joints_bending_stiffness} +\boxed{k_{R_x} = \frac{T_x}{\theta_x}, \quad k_{R_y} = \frac{T_y}{\theta_y}} +\end{equation} +\subsection{Measurement principle} +\label{ssec:test_joints_meas_principle} +\paragraph{Torque and Rotation measurement} +To apply torque \(T_{y}\) between the two mobile parts of the flexible joint, a known ``linear'' force \(F_{x}\) can be applied instead at a certain distance \(h\) with respect to the rotation point. +In this case, the equivalent applied torque can be estimated from equation \eqref{eq:test_joints_force_torque_distance}. +Note that the application point of the force should be sufficiently far from the rotation axis such that the resulting bending motion is much larger than the displacement due to shear. +Such effects are studied in Section \ref{ssec:test_joints_error_budget}. + +\begin{equation}\label{eq:test_joints_force_torque_distance} +T_y = h F_x, \quad T_x = h F_y +\end{equation} + +Similarly, instead of directly measuring the bending motion \(\theta_y\) of the flexible joint, its linear motion \(d_x\) at a certain distance \(h\) from the rotation points is measured. +The equivalent rotation is estimated from \eqref{eq:test_joints_rot_displ}. + +\begin{equation}\label{eq:test_joints_rot_displ} +\theta_y = \tan^{-1}\left(\frac{d_x}{h}\right) \approx \frac{d_x}{h}, \quad \theta_x = \tan^{-1} \left( \frac{d_y}{h} \right) \approx \frac{d_y}{h} +\end{equation} + +Then, the bending stiffness can be estimated from \eqref{eq:test_joints_stiff_displ_force}. + +\begin{subequations}\label{eq:test_joints_stiff_displ_force} +\begin{align} +k_{R_x} &= \frac{T_x}{\theta_x} = \frac{h F_y}{\tan^{-1}\left( \frac{d_y}{h} \right)} \approx h^2 \frac{F_y}{d_y} \\ +k_{R_y} &= \frac{T_y}{\theta_y} = \frac{h F_x}{\tan^{-1}\left( \frac{d_x}{h} \right)} \approx h^2 \frac{F_x}{d_x} +\end{align} +\end{subequations} + +The working principle of the measurement bench is schematically shown in Figure \ref{fig:test_joints_bench_working_principle}. +One part of the flexible joint is fixed to a rigid frame while a (known) force \(F_x\) is applied to the other side of the flexible joint. +The deflection of the joint \(d_x\) is measured using a displacement sensor. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_joints_bench_working_principle.png} +\caption{\label{fig:test_joints_bench_working_principle}Working principle of the test bench used to estimate the bending stiffness \(k_{R_y}\) of the flexible joints by measuring \(F_x\), \(d_x\) and \(h\)} +\end{figure} + +\paragraph{Required external applied force} +The bending stiffness is foreseen to be \(k_{R_y} \approx k_{R_x} \approx 5\,\frac{Nm}{rad}\) and its stroke \(\theta_{y,\text{max}}\approx \theta_{x,\text{max}}\approx 25\,mrad\). +The height between the flexible point (center of the joint) and the point where external forces are applied is \(h = 22.5\,mm\) (see Figure \ref{fig:test_joints_bench_working_principle}). + +The bending \(\theta_y\) of the flexible joint due to the force \(F_x\) is given by equation \eqref{eq:test_joints_deflection_force}. + +\begin{equation}\label{eq:test_joints_deflection_force} + \theta_y = \frac{T_y}{k_{R_y}} = \frac{F_x h}{k_{R_y}} +\end{equation} + +Therefore, the force that must be applied to test the full range of the flexible joints is given by equation \eqref{eq:test_joints_max_force}. +The measurement range of the force sensor should then be higher than \(5.5\,N\). + +\begin{equation}\label{eq:test_joints_max_force} + F_{x,\text{max}} = \frac{k_{R_y} \theta_{y,\text{max}}}{h} \approx 5.5\,N +\end{equation} + +\paragraph{Required actuator stroke and sensors range} +The flexible joint is designed to allow a bending motion of \(\pm 25\,mrad\). +The corresponding stroke at the location of the force sensor is given by \eqref{eq:test_joints_max_stroke}. +To test the full range of the flexible joint, the means of applying a force (explained in the next section) should allow a motion of at least \(0.5\,mm\). +Similarly, the measurement range of the displacement sensor should also be higher than \(0.5\,mm\). + +\begin{equation}\label{eq:test_joints_max_stroke} +d_{x,\text{max}} = h \tan(R_{x,\text{max}}) \approx 0.5\,mm +\end{equation} + +\paragraph{Force and Displacement measurements} +To determine the applied force, a load cell will be used in series with the mechanism that applied the force. +The measured deflection of the flexible joint will be indirectly estimated from the displacement of the force sensor itself (see Section \ref{ssec:test_joints_test_bench}). +Indirectly measuring the deflection of the flexible joint induces some errors because of the limited stiffness between the force sensor and the displacement sensor. +Such an effect will be estimated in the error budget (Section \ref{ssec:test_joints_error_budget}) + +\subsection{Error budget} +\label{ssec:test_joints_error_budget} +To estimate the accuracy of the measured bending stiffness that can be obtained using this measurement principle, an error budget is performed. + +Based on equation \eqref{eq:test_joints_stiff_displ_force}, several errors can affect the accuracy of the measured bending stiffness: +\begin{itemize} +\item Errors in the measured torque \(M_x, M_y\): this is mainly due to inaccuracies in the load cell and of the height estimation \(h\) +\item Errors in the measured bending motion of the flexible joints \(\theta_x, \theta_y\): errors from limited shear stiffness, from the deflection of the load cell itself, and inaccuracy of the height estimation \(h\) +\end{itemize} + +If only the bending stiffness is considered, the induced displacement is described by \eqref{eq:test_joints_dbx}. + +\begin{equation}\label{eq:test_joints_dbx} + d_{x,b} = h \tan(\theta_y) = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) +\end{equation} +\paragraph{Effect of Shear} +The applied force \(F_x\) will induce some shear \(d_{x,s}\) which is described by \eqref{eq:test_joints_shear_displ} with \(k_s\) the shear stiffness of the flexible joint. + +\begin{equation}\label{eq:test_joints_shear_displ} + d_{x,s} = \frac{F_x}{k_s} +\end{equation} + +The measured displacement \(d_x\) is affected shear, as shown in equation \eqref{eq:test_joints_displ_shear}. + +\begin{equation}\label{eq:test_joints_displ_shear} + d_x = d_{x,b} + d_{x,s} = h \tan\left( \frac{F_x \cdot h}{k_{R_y}} \right) + \frac{F_x}{k_s} \approx F_x \left( \frac{h^2}{k_{R_y}} + \frac{1}{k_s} \right) +\end{equation} + +The estimated bending stiffness \(k_{\text{est}}\) then depends on the shear stiffness \eqref{eq:test_joints_error_shear}. + +\begin{equation}\label{eq:test_joints_error_shear} + k_{R_y,\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_s h^2}} \approx k_{R_y} \Bigl( 1 - \underbrace{\frac{k_{R_y}}{k_s h^2}}_{\epsilon_{s}} \Bigl) +\end{equation} + +With an estimated shear stiffness \(k_s = 13\,N/\mu m\) from the finite element model and an height \(h=25\,mm\), the estimation errors of the bending stiffness due to shear is \(\epsilon_s < 0.1\,\%\) + +\paragraph{Effect of load cell limited stiffness} +As explained in the previous section, because the measurement of the flexible joint deflection is indirectly performed with the encoder, errors will be made if the load cell experiences some compression. + +Suppose the load cell has an internal stiffness \(k_f\), the same reasoning that was made for the effect of shear can be applied here. +The estimation error of the bending stiffness due to the limited stiffness of the load cell is then described by \eqref{eq:test_joints_error_load_cell_stiffness}. + +\begin{equation}\label{eq:test_joints_error_load_cell_stiffness} + k_{R_y,\text{est}} = h^2 \frac{F_x}{d_x} \approx k_{R_y} \frac{1}{1 + \frac{k_{R_y}}{k_F h^2}} \approx k_{R_y} \Bigl( 1 - \underbrace{\frac{k_{R_y}}{k_F h^2}}_{\epsilon_f} \Bigl) +\end{equation} + +With an estimated load cell stiffness of \(k_f \approx 1\,N/\mu m\) (from the documentation), the errors due to the load cell limited stiffness is around \(\epsilon_f = 1\,\%\). + +\paragraph{Estimation error due to height estimation error} +Now consider an error \(\delta h\) in the estimation of the height \(h\) as described by \eqref{eq:test_joints_est_h_error}. + +\begin{equation}\label{eq:test_joints_est_h_error} +h_{\text{est}} = h + \delta h +\end{equation} + +The computed bending stiffness will be \eqref{eq:test_joints_stiffness_height_error}. + +\begin{equation}\label{eq:test_joints_stiffness_height_error} + k_{R_y, \text{est}} \approx h_{\text{est}}^2 \frac{F_x}{d_x} \approx k_{R_y} \Bigl( 1 + \underbrace{2 \frac{\delta h}{h} + \frac{\delta h ^2}{h^2}}_{\epsilon_h} \Bigl) +\end{equation} + +The height estimation is foreseen to be accurate to within \(|\delta h| < 0.4\,mm\) which corresponds to a stiffness error \(\epsilon_h < 3.5\,\%\). + +\paragraph{Estimation error due to force and displacement sensors accuracy} +An optical encoder is used to measure the displacement (see Section \ref{ssec:test_joints_test_bench}) whose maximum non-linearity is \(40\,nm\). +As the measured displacement is foreseen to be \(0.5\,mm\), the error \(\epsilon_d\) due to the encoder non-linearity is negligible \(\epsilon_d < 0.01\,\%\). + +The accuracy of the load cell is specified at \(1\,\%\) and therefore, estimation errors of the bending stiffness due to the limited load cell accuracy should be \(\epsilon_F < 1\,\%\) + +\paragraph{Conclusion} + +The different sources of errors are summarized in Table \ref{tab:test_joints_error_budget}. +The most important source of error is the estimation error of the distance between the flexible joint rotation axis and its contact with the force sensor. +An overall accuracy of \(\approx 5\,\%\) can be expected with this measurement bench, which should be sufficient for an estimation of the bending stiffness of the flexible joints. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.4\linewidth}{lX} +\toprule +\textbf{Effect} & \textbf{Error}\\ +\midrule +Shear effect & \(\epsilon_s < 0.1\,\%\)\\ +Load cell compliance & \(\epsilon_f = 1\,\%\)\\ +Height error & \(\epsilon_h < 3.5\,\%\)\\ +Displacement sensor & \(\epsilon_d < 0.01\,\%\)\\ +Force sensor & \(\epsilon_F < 1\,\%\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_joints_error_budget}Summary of the error budget for estimating the bending stiffness} + +\end{table} + +\subsection{Mechanical Design} +\label{ssec:test_joints_test_bench} + +As explained in Section \ref{ssec:test_joints_meas_principle}, the flexible joint's bending stiffness is estimated by applying a known force to the flexible joint's tip and by measuring its deflection at the same point. + +The force is applied using a load cell\footnote{The load cell is FC22 from TE Connectivity. The measurement range is \(50\,N\). The specified accuracy is \(1\,\%\) of the full range} such that the applied force to the flexible joint's tip is directly measured. +To control the height and direction of the applied force, a cylinder cut in half is fixed at the tip of the force sensor (pink element in Figure \ref{fig:test_joints_bench_side}) that initially had a flat surface. +Doing so, the contact between the flexible joint cylindrical tip and the force sensor is a point (intersection of two cylinders) at a precise height, and the force is applied in a known direction. +To translate the load cell at a constant height, it is fixed to a translation stage\footnote{V-408 PIMag\textsuperscript{\textregistered} linear stage is used. Crossed rollers are used to guide the motion.} which is moved by hand. + +Instead of measuring the displacement directly at the tip of the flexible joint (with a probe or an interferometer for instance), the displacement of the load cell itself is measured. +To do so, an encoder\footnote{Resolute\texttrademark{} encoder with \(1\,nm\) resolution and \(\pm 40\,nm\) maximum non-linearity} is used, which measures the motion of a ruler. +This ruler is fixed to the translation stage in line (i.e. at the same height) with the application point to reduce Abbe errors (see Figure \ref{fig:test_joints_bench_overview}). + +The flexible joint can be rotated by \(90^o\) in order to measure the bending stiffness in the two directions. +The obtained CAD design of the measurement bench is shown in Figure \ref{fig:test_joints_bench_overview} while a zoom on the flexible joint with the associated important quantities is shown in Figure \ref{fig:test_joints_bench_side}. + +\begin{figure}[htbp] +\begin{subfigure}{0.78\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/test_joints_bench_overview.png} +\end{center} +\subcaption{\label{fig:test_joints_bench_overview} Schematic of the test bench to measure the bending stiffness of the flexible joints} +\end{subfigure} +\begin{subfigure}{0.21\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/test_joints_bench_side.png} +\end{center} +\subcaption{\label{fig:test_joints_bench_side} Zoom} +\end{subfigure} +\caption{\label{fig:test_joints_bench}CAD view of the test bench developed to measure the bending stiffness of the flexible joints. Different parts are shown in \subref{fig:test_joints_bench_overview} while a zoom on the flexible joint is shown in \subref{fig:test_joints_bench_side}} +\end{figure} + +\subsection{Bending Stiffness Measurement} +\label{sec:test_joints_bending_stiffness_meas} +A picture of the bench used to measure the X-bending stiffness of the flexible joints is shown in Figure \ref{fig:test_joints_picture_bench_overview}. +A closer view of the force sensor tip is shown in Figure \ref{fig:test_joints_picture_bench_zoom}. + +\begin{figure}[htbp] +\begin{subfigure}{0.70\textwidth} +\begin{center} +\includegraphics[scale=1,height=5cm]{figs/test_joints_picture_bench_overview.jpg} +\end{center} +\subcaption{\label{fig:test_joints_picture_bench_overview}Picture of the measurement bench} +\end{subfigure} +\begin{subfigure}{0.29\textwidth} +\begin{center} +\includegraphics[scale=1,height=5cm]{figs/test_joints_picture_bench_zoom.jpg} +\end{center} +\subcaption{\label{fig:test_joints_picture_bench_zoom}Zoom on the tip} +\end{subfigure} +\caption{\label{fig:test_joints_picture_bench}Manufactured test bench for compliance measurement of the flexible joints} +\end{figure} +\subsection{Load Cell Calibration} +In order to estimate the measured errors of the load cell ``FC2231'', it is compared against another load cell\footnote{XFL212R-50N from TE Connectivity. The measurement range is \(50\,N\). The specified accuracy is \(1\,\%\) of the full range}. +The two load cells are measured simultaneously while they are pushed against each other (see Figure \ref{fig:test_joints_force_sensor_calib_picture}). +The contact between the two load cells is well defined as one has a spherical interface and the other has a flat surface. + +The measured forces are compared in Figure \ref{fig:test_joints_force_sensor_calib_fit}. +The gain mismatch between the two load cells is approximately \(4\,\%\) which is higher than that specified in the data sheets. +However, the estimated non-linearity is bellow \(0.2\,\%\) for forces between \(1\,N\) and \(5\,N\). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_calib_picture.png} +\end{center} +\subcaption{\label{fig:test_joints_force_sensor_calib_picture}Zoom on the two load cells in contact} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_calib_fit.png} +\end{center} +\subcaption{\label{fig:test_joints_force_sensor_calib_fit}Measured two forces} +\end{subfigure} +\caption{\label{fig:test_joints_force_sensor_calib}Estimation of the load cell accuracy by comparing the measured force of two load cells. A picture of the measurement bench is shown in \subref{fig:test_joints_force_sensor_calib_picture}. Comparison of the two measured forces and estimated non-linearity are shown in \subref{fig:test_joints_force_sensor_calib_fit}} +\end{figure} + +\subsection{Load Cell Stiffness} +The objective of this measurement is to estimate the stiffness \(k_F\) of the force sensor. +To do so, a stiff element (much stiffer than the estimated \(k_F \approx 1\,N/\mu m\)) is mounted in front of the force sensor, as shown in Figure \ref{fig:test_joints_meas_force_sensor_stiffness_picture}. +Then, the force sensor is pushed against this stiff element while the force sensor and the encoder displacement are measured. +The measured displacement as a function of the measured force is shown in Figure \ref{fig:test_joints_force_sensor_stiffness_fit}. +The load cell stiffness can then be estimated by computing a linear fit and is found to be \(k_F \approx 0.68\,N/\mu m\). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.5cm]{figs/test_joints_meas_force_sensor_stiffness_picture.jpg} +\end{center} +\subcaption{\label{fig:test_joints_meas_force_sensor_stiffness_picture}Picture of the measurement bench} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.5cm]{figs/test_joints_force_sensor_stiffness_fit.png} +\end{center} +\subcaption{\label{fig:test_joints_force_sensor_stiffness_fit}Measured displacement as a function of the force} +\end{subfigure} +\caption{\label{fig:test_joints_meas_force_sensor_stiffness}Estimation of the load cell stiffness. The measurement setup is shown in \subref{fig:test_joints_meas_force_sensor_stiffness_picture}. The measurement results are shown in \subref{fig:test_joints_force_sensor_stiffness_fit}.} +\end{figure} + +\subsection{Bending Stiffness estimation} +The actual stiffness is now estimated by manually moving the translation stage from a start position where the force sensor is not yet in contact with the flexible joint to a position where the flexible joint is on its mechanical stop. + +The measured force and displacement as a function of time are shown in Figure \ref{fig:test_joints_meas_bend_time}. +Three regions can be observed: first, the force sensor tip is not in contact with the flexible joint and the measured force is zero; then, the flexible joint deforms linearly; and finally, the flexible joint comes in contact with the mechanical stop. + +The angular motion \(\theta_{y}\) computed from the displacement \(d_x\) is displayed as function of the measured torque \(T_{y}\) in Figure \ref{fig:test_joints_meas_F_d_lin_fit}. +The bending stiffness of the flexible joint can be estimated by computing the slope of the curve in the linear regime (red dashed line) and is found to be \(k_{R_y} = 4.4\,Nm/\text{rad}\). +The bending stroke can also be estimated as shown in Figure \ref{fig:test_joints_meas_F_d_lin_fit} and is found to be \(\theta_{y,\text{max}} = 20.9\,\text{mrad}\). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.3cm]{figs/test_joints_meas_bend_time.png} +\end{center} +\subcaption{\label{fig:test_joints_meas_bend_time}Force and displacement measured as a function of time} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.3cm]{figs/test_joints_meas_F_d_lin_fit.png} +\end{center} +\subcaption{\label{fig:test_joints_meas_F_d_lin_fit}Angular displacement measured as a function of the applied torque} +\end{subfigure} +\caption{\label{fig:test_joints_meas_example}Results obtained on the first flexible joint. The measured force and displacement are shown in \subref{fig:test_joints_meas_bend_time}. The estimated angular displacement \(\theta_x\) as a function of the estimated applied torque \(T_{x}\) is shown in \subref{fig:test_joints_meas_F_d_lin_fit}. The bending stiffness \(k_{R_x}\) of the flexible joint can be estimated by computing a best linear fit (red dashed line).} +\end{figure} + +\subsection{Measured flexible joint stiffness} + +The same measurement was performed for all the 16 flexible joints, both in the \(x\) and \(y\) directions. +The measured angular motion as a function of the applied torque is shown in Figure \ref{fig:test_joints_meas_bending_all_raw_data} for the 16 flexible joints. +This gives a first idea of the dispersion of the measured bending stiffnesses (i.e. slope of the linear region) and of the angular stroke. + +A histogram of the measured bending stiffnesses is shown in Figure \ref{fig:test_joints_bend_stiff_hist}. +Most of the bending stiffnesses are between \(4.6\,Nm/rad\) and \(5.0\,Nm/rad\). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.3cm]{figs/test_joints_meas_bending_all_raw_data.png} +\end{center} +\subcaption{\label{fig:test_joints_meas_bending_all_raw_data}Measured torque and angular motion for the flexible joints} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,height=5.3cm]{figs/test_joints_bend_stiff_hist.png} +\end{center} +\subcaption{\label{fig:test_joints_bend_stiff_hist}Histogram of the measured bending stiffness in the x and y directions} +\end{subfigure} +\caption{\label{fig:test_joints_meas_bending_results}Result of measured \(k_{R_x}\) and \(k_{R_y}\) stiffnesses for the 16 flexible joints. Raw data are shown in \subref{fig:test_joints_meas_bending_all_raw_data}. A histogram of the measured stiffnesses is shown in \subref{fig:test_joints_bend_stiff_hist}} +\end{figure} + +\subsection*{Conclusion} +\label{sec:test_joints_conclusion} + +The flexible joints are a key element of the nano-hexapod. +Careful dimensional measurements (Section \ref{sec:test_joints_flex_dim_meas}) allowed for the early identification of faulty flexible joints. +This was crucial in preventing potential complications that could have arisen from the installation of faulty joints on the nano-hexapod. + +A dedicated test bench was developed to asses the bending stiffness of the flexible joints. +Through meticulous error analysis and budgeting, a satisfactory level of measurement accuracy could be guaranteed. +The measured bending stiffness values exhibited good agreement with the predictions from the finite element model (\(k_{R_x} = k_{R_y} = 5\,Nm/\text{rad}\)). +These measurements are helpful for refining the model of the flexible joints, thereby enhancing the overall accuracy of the nano-hexapod model. +Furthermore, the data obtained from these measurements have provided the necessary information to select the most suitable flexible joints for the nano-hexapod, ensuring optimal performance. \section{Struts} +The Nano-Hexapod struts (shown in Figure \ref{fig:test_struts_picture_strut}) are composed of two flexible joints that are fixed at the two ends of the strut, one \acrfull{apa}\footnote{APA300ML from Cedrat Technologies} and one optical encoder\footnote{Vionic from Renishaw}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.8\linewidth]{figs/test_struts_picture_strut.jpg} +\caption{\label{fig:test_struts_picture_strut}One strut including two flexible joints, an amplified piezoelectric actuator and an encoder} +\end{figure} + +After the strut elements have been individually characterized (see previous sections), the struts are assembled. +The mounting procedure of the struts is explained in Section \ref{sec:test_struts_mounting}. +A mounting bench was used to ensure coaxiality between the two ends of the struts. +In this way, no angular stroke is lost when mounted to the nano-hexapod. + +The flexible modes of the struts were then experimentally measured and compared with a finite element model (Section \ref{sec:test_struts_flexible_modes}). + +Dynamic measurements of the strut are performed with the same test bench used to characterize the APA300ML dynamics (Section \ref{sec:test_struts_dynamical_meas}). +It was found that the dynamics from the \acrshort{dac} voltage to the displacement measured by the encoder is complex due to the flexible modes of the struts (Section \ref{sec:test_struts_flexible_modes}). + +The strut models were then compared with the measured dynamics (Section \ref{sec:test_struts_simscape}). +The model dynamics from the \acrshort{dac} voltage to the axial motion of the strut (measured by an interferometer) and to the force sensor voltage well match the experimental results. +However, this is not the case for the dynamics from \acrshort{dac} voltage to the encoder displacement. +It is found that the complex dynamics is due to a misalignment between the flexible joints and the \acrshort{apa}. + + +\subsection{Mounting Procedure} +\label{sec:test_struts_mounting} + +A mounting bench was developed to ensure: +\begin{itemize} +\item Good coaxial alignment between the interfaces (cylinders) of the flexible joints. +This is important not to loose to much angular stroke during their mounting into the nano-hexapod +\item Uniform length across all struts +\item Precise alignment of the APA with the two flexible joints +\item Reproducible and consistent assembly between all struts +\end{itemize} + +A CAD view of the mounting bench is shown in Figure \ref{fig:test_struts_mounting_bench_first_concept}. +It consists of a ``main frame'' (Figure \ref{fig:test_struts_mounting_step_0}) precisely machined to ensure both correct strut length and strut coaxiality. +The coaxiality is ensured by good flatness (specified at \(20\,\mu m\)) between surfaces A and B and between surfaces C and D. +Such flatness was checked using a FARO arm\footnote{FARO Arm Platinum 4ft, specified accuracy of \(\pm 13\mu m\)} (see Figure \ref{fig:test_struts_check_dimensions_bench}) and was found to comply with the requirements. +The strut length (defined by the distance between the rotation points of the two flexible joints) was ensured by using precisely machined dowel holes. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mounting_bench_first_concept.png} +\end{center} +\subcaption{\label{fig:test_struts_mounting_bench_first_concept}CAD view of the mounting bench} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_struts_mounting_overview.jpg} +\end{center} +\subcaption{\label{fig:test_struts_mounting_overview}Exploded view} +\end{subfigure} +\caption{\label{fig:test_struts_mounting}Strut mounting bench} +\end{figure} + +\begin{figure}[htbp] +\begin{subfigure}{0.56\textwidth} +\begin{center} +\includegraphics[scale=1,height=4.5cm]{figs/test_struts_mounting_step_0.jpg} +\end{center} +\subcaption{\label{fig:test_struts_mounting_step_0}Useful features of the main mounting element} +\end{subfigure} +\begin{subfigure}{0.43\textwidth} +\begin{center} +\includegraphics[scale=1,height=4.5cm]{figs/test_struts_check_dimensions_bench.jpg} +\end{center} +\subcaption{\label{fig:test_struts_check_dimensions_bench}Dimensional check} +\end{subfigure} +\caption{\label{fig:test_struts_mounting_base_part}Main element of the mounting bench for the struts that ensure good coaxiality of the two flexible joints and correct struts length.} +\end{figure} + +The flexible joints were not directly fixed to the mounting bench but were fixed to a cylindrical ``sleeve'' shown in Figures \ref{fig:test_struts_cylindrical_mounting_part_top} and \ref{fig:test_struts_cylindrical_mounting_part_bot}. +The goal of these ``sleeves'' is to avoid mechanical stress that could damage the flexible joints during the mounting process. +These ``sleeves'' have one dowel groove (that are fitted to the dowel holes shown in Figure \ref{fig:test_struts_mounting_step_0}) that will determine the length of the mounted strut. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,height=4.5cm]{figs/test_struts_cylindrical_mounting_part_top.jpg} +\end{center} +\subcaption{\label{fig:test_struts_cylindrical_mounting_part_top}Cylindral Interface (Top)} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,height=4.5cm]{figs/test_struts_cylindrical_mounting_part_bot.jpg} +\end{center} +\subcaption{\label{fig:test_struts_cylindrical_mounting_part_bot}Cylindrlcal Interface (Bottom)} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,height=4.5cm]{figs/test_struts_mounting_joints.jpg} +\end{center} +\subcaption{\label{fig:test_struts_mounting_joints}Mounted flexible joints} +\end{subfigure} +\caption{\label{fig:test_struts_cylindrical_mounting}Preparation of the flexible joints by fixing them in their cylindrical ``sleeve''} +\end{figure} + +The ``sleeves'' were mounted to the main element as shown in Figure \ref{fig:test_struts_mounting_step_0}. +The left sleeve has a thigh fit such that its orientation is fixed (it is roughly aligned horizontally), while the right sleeve has a loose fit such that it can rotate (it will get the same orientation as the fixed one when tightening the screws). + +The cylindrical washers and the APA300ML are stacked on top of the flexible joints, as shown in Figure \ref{fig:test_struts_mounting_step_2} and screwed together using a torque screwdriver. +A dowel pin is used to laterally align the APA300ML with the flexible joints (see the dowel slot on the flexible joints in Figure \ref{fig:test_struts_mounting_joints}). +Two cylindrical washers are used to allow proper mounting even when the two APA interfaces are not parallel. + +The encoder and ruler are then fixed to the strut and properly aligned, as shown in Figure \ref{fig:test_struts_mounting_step_3}. + +Finally, the strut can be disassembled from the mounting bench (Figure \ref{fig:test_struts_mounting_step_4}). +Thanks to this mounting procedure, the coaxiality and length between the two flexible joint's interfaces can be obtained within the desired tolerances. + +\begin{figure}[htbp] +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_mounting_step_1.jpg} +\end{center} +\subcaption{\label{fig:test_struts_mounting_step_1}Step 1} +\end{subfigure} +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_mounting_step_2.jpg} +\end{center} +\subcaption{\label{fig:test_struts_mounting_step_2}Step 2} +\end{subfigure} + +\bigskip +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_mounting_step_3.jpg} +\end{center} +\subcaption{\label{fig:test_struts_mounting_step_3}Step 3} +\end{subfigure} +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_mounting_step_4.jpg} +\end{center} +\subcaption{\label{fig:test_struts_mounting_step_4}Step 4} +\end{subfigure} +\caption{\label{fig:test_struts_mounting_steps}Steps for mounting the struts.} +\end{figure} + +\subsection{Measurement of flexible modes} +\label{sec:test_struts_flexible_modes} + +A Finite Element Model\footnote{Using Ansys\textsuperscript{\textregistered}. Flexible Joints and APA Shell are made of a stainless steel allow called \emph{17-4 PH}. Encoder and ruler support material is aluminium.} of the struts is developed and is used to estimate the flexible modes. +The inertia of the encoder (estimated at \(15\,g\)) is considered. +The two cylindrical interfaces were fixed (boundary conditions), and the first three flexible modes were computed. +The mode shapes are displayed in Figure \ref{fig:test_struts_mode_shapes}: an ``X-bending'' mode at 189Hz, a ``Y-bending'' mode at 285Hz and a ``Z-torsion'' mode at 400Hz. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.85\linewidth]{figs/test_struts_mode_shapes_1.png} +\end{center} +\subcaption{\label{fig:test_struts_mode_shapes_1}X-bending mode (189Hz)} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.85\linewidth]{figs/test_struts_mode_shapes_2.png} +\end{center} +\subcaption{\label{fig:test_struts_mode_shapes_2}Y-bending mode (285Hz)} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.85\linewidth]{figs/test_struts_mode_shapes_3.png} +\end{center} +\subcaption{\label{fig:test_struts_mode_shapes_3}Z-torsion mode (400Hz)} +\end{subfigure} +\caption{\label{fig:test_struts_mode_shapes}Spurious resonances of the struts estimated from a Finite Element Model} +\end{figure} + +To experimentally measure these mode shapes, a Laser vibrometer\footnote{OFV-3001 controller and OFV512 sensor head from Polytec} was used. +It measures the difference of motion between two beam path (red points in Figure \ref{fig:test_struts_meas_modes}). +The strut is then excited by an instrumented hammer, and the transfer function from the hammer to the measured rotation is computed. + +The setup used to measure the ``X-bending'' mode is shown in Figure \ref{fig:test_struts_meas_x_bending}. +The ``Y-bending'' mode is measured as shown in Figure \ref{fig:test_struts_meas_y_bending} and the ``Z-torsion'' measurement setup is shown in Figure \ref{fig:test_struts_meas_z_torsion}. +These tests were performed with and without the encoder being fixed to the strut. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.85\linewidth]{figs/test_struts_meas_x_bending.jpg} +\end{center} +\subcaption{\label{fig:test_struts_meas_x_bending}X-bending mode} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.85\linewidth]{figs/test_struts_meas_y_bending.jpg} +\end{center} +\subcaption{\label{fig:test_struts_meas_y_bending}Y-bending mode} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.85\linewidth]{figs/test_struts_meas_z_torsion.jpg} +\end{center} +\subcaption{\label{fig:test_struts_meas_z_torsion}Z-torsion mode} +\end{subfigure} +\caption{\label{fig:test_struts_meas_modes}Measurement of strut flexible modes} +\end{figure} + +The obtained frequency response functions for the three configurations (X-bending, Y-bending and Z-torsion) are shown in Figure \ref{fig:test_struts_spur_res_frf_no_enc} when the encoder is not fixed to the strut and in Figure \ref{fig:test_struts_spur_res_frf_enc} when the encoder is fixed to the strut. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_spur_res_frf_no_enc.png} +\end{center} +\subcaption{\label{fig:test_struts_spur_res_frf_no_enc}without encoder} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_spur_res_frf_enc.png} +\end{center} +\subcaption{\label{fig:test_struts_spur_res_frf_enc}with the encoder} +\end{subfigure} +\caption{\label{fig:test_struts_spur_res_frf}Measured frequency response functions without the encoder \ref{fig:test_struts_spur_res_frf} and with the encoder \ref{fig:test_struts_spur_res_frf_enc}} +\end{figure} + +Table \ref{tab:test_struts_spur_mode_freqs} summarizes the measured resonance frequencies and the computed ones using the \acrfull{fem}. +The resonance frequencies of the 3 modes are only slightly decreased when the encoder is fixed to the strut. +In addition, the computed resonance frequencies from the \acrshort{fem} are very close to the measured frequencies when the encoder is fixed to the strut. +This validates the quality of the \acrshort{fem}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.9\linewidth}{Xccc} +\toprule +\textbf{Mode} & \textbf{FEM with Encoder} & \textbf{Exp. with Encoder} & \textbf{Exp. without Encoder}\\ +\midrule +X-Bending & 189Hz & 198Hz & 226Hz\\ +Y-Bending & 285Hz & 293Hz & 337Hz\\ +Z-Torsion & 400Hz & 381Hz & 398Hz\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_struts_spur_mode_freqs}Measured frequency of the flexible modes of the strut} + +\end{table} + +\subsection{Dynamical measurements} +\label{sec:test_struts_dynamical_meas} +In order to measure the dynamics of the strut, the test bench used to measure the APA300ML dynamics is being used again. + +The strut mounted on the bench is shown in Figure \ref{fig:test_struts_bench_leg_overview} +A schematic of the bench and the associated signals are shown in Figure \ref{fig:test_struts_bench_schematic}. +A fiber interferometer\footnote{Two fiber intereferometers were used: an IDS3010 from Attocube and a quDIS from QuTools} is used to measure the motion of the granite (i.e. the axial motion of the strut). + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,height=210px]{figs/test_struts_bench_leg_overview.jpg} +\end{center} +\subcaption{\label{fig:test_struts_bench_leg_overview}Overview Picture} +\end{subfigure} +\begin{subfigure}{0.68\textwidth} +\begin{center} +\includegraphics[scale=1,height=210px]{figs/test_struts_bench_schematic.png} +\end{center} +\subcaption{\label{fig:test_struts_bench_schematic}Schematic} +\end{subfigure} +\caption{\label{fig:test_struts_bench_leg}Experimental setup used to measure the dynamics of the struts.} +\end{figure} + +First, the effect of the encoder on the measured dynamics is investigated in Section \ref{ssec:test_struts_effect_encoder}. +The dynamics observed by the encoder and interferometers are compared in Section \ref{ssec:test_struts_comp_enc_int}. +Finally, all measured struts are compared in terms of dynamics in Section \ref{ssec:test_struts_comp_all_struts}. +\subsection{Effect of the Encoder on the measured dynamics} +\label{ssec:test_struts_effect_encoder} + +System identification was performed without the encoder being fixed to the strut (Figure \ref{fig:test_struts_bench_leg_front}) and with one encoder being fixed to the strut (Figure \ref{fig:test_struts_bench_leg_coder}). + +\begin{figure}[htbp] +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/test_struts_bench_leg_coder.jpg} +\end{center} +\subcaption{\label{fig:test_struts_bench_leg_coder}Strut with encoder} +\end{subfigure} +\begin{subfigure}{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,height=6cm]{figs/test_struts_bench_leg_front.jpg} +\end{center} +\subcaption{\label{fig:test_struts_bench_leg_front}Strut without encoder} +\end{subfigure} +\caption{\label{fig:test_struts_bench_leg_with_without_enc}Struts fixed to the test bench with clamped flexible joints. The coder can be fixed to the struts \subref{fig:test_struts_bench_leg_coder} or removed \subref{fig:test_struts_bench_leg_front}} +\end{figure} + +The obtained frequency response functions are compared in Figure \ref{fig:test_struts_effect_encoder}. +It was found that the encoder had very little effect on the transfer function from excitation voltage \(u\) to the axial motion of the strut \(d_a\) as measured by the interferometer (Figure \ref{fig:test_struts_effect_encoder_int}). +This means that the axial motion of the strut is unaffected by the presence of the encoder. +Similarly, it has little effect on the transfer function from \(u\) to the sensor stack voltage \(V_s\) (Figure \ref{fig:test_struts_effect_encoder_iff}). +This means that the encoder should have little effect on the effectiveness of the integral force feedback control strategy. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_effect_encoder_int.png} +\end{center} +\subcaption{\label{fig:test_struts_effect_encoder_int}$u$ to $d_a$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_effect_encoder_iff.png} +\end{center} +\subcaption{\label{fig:test_struts_effect_encoder_iff}$u$ to $V_s$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_comp_enc_int.png} +\end{center} +\subcaption{\label{fig:test_struts_comp_enc_int}$u$ to $d_e$, $d_a$} +\end{subfigure} +\caption{\label{fig:test_struts_effect_encoder}Effect of having the encoder fixed to the struts on the measured dynamics from \(u\) to \(d_a\) \subref{fig:test_struts_effect_encoder_int} and from \(u\) to \(V_s\) \subref{fig:test_struts_effect_encoder_iff}. Comparison of the observed dynamics by the encoder and interferometers \subref{fig:test_struts_comp_enc_int}} +\end{figure} + +\subsection{Comparison of the encoder and interferometer} +\label{ssec:test_struts_comp_enc_int} + +The dynamics measured by the encoder (i.e. \(d_e/u\)) and interferometers (i.e. \(d_a/u\)) are compared in Figure \ref{fig:test_struts_comp_enc_int}. +The dynamics from the excitation voltage \(u\) to the displacement measured by the encoder \(d_e\) presents a behavior that is much more complex than the dynamics of the displacement measured by the interferometer (comparison made in Figure \ref{fig:test_struts_comp_enc_int}). +Three additional resonance frequencies can be observed at 197Hz, 290Hz and 376Hz. +These resonance frequencies match the frequencies of the flexible modes studied in Section \ref{sec:test_struts_flexible_modes}. + +The good news is that these resonances are not impacting the axial motion of the strut (which is what is important for the hexapod positioning). +However, these resonances make the use of an encoder fixed to the strut difficult from a control perspective. + +\subsection{Comparison of all the Struts} +\label{ssec:test_struts_comp_all_struts} + +The dynamics of all the mounted struts (only 5 at the time of the experiment) were then measured on the same test bench. +The obtained dynamics from \(u\) to \(d_a\) are compared in Figure \ref{fig:test_struts_comp_interf_plants} while is dynamics from \(u\) to \(V_s\) are compared in Figure \ref{fig:test_struts_comp_iff_plants}. +A very good match can be observed between the struts. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_struts_comp_interf_plants.png} +\end{center} +\subcaption{\label{fig:test_struts_comp_interf_plants}$u$ to $d_a$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_struts_comp_iff_plants.png} +\end{center} +\subcaption{\label{fig:test_struts_comp_iff_plants}$u$ to $V_s$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_struts_comp_enc_plants.png} +\end{center} +\subcaption{\label{fig:test_struts_comp_enc_plants}$u$ to $d_e$} +\end{subfigure} +\caption{\label{fig:test_struts_comp_plants}Comparison of the measured plants} +\end{figure} + +The same comparison is made for the transfer function from \(u\) to \(d_e\) (encoder output) in Figure \ref{fig:test_struts_comp_enc_plants}. +In this study, large dynamics differences were observed between the 5 struts. +Although the same resonance frequencies were seen for all of the struts (95Hz, 200Hz, 300Hz and 400Hz), the amplitude of the peaks were not the same. +In addition, the location or even presence of complex conjugate zeros changes from one strut to another. +The reason for this variability will be studied in the next section thanks to the strut model. + +\subsection{Strut Model} +\label{sec:test_struts_simscape} +The multi-body model of the strut was included in the multi-body model of the test bench (see Figure \ref{fig:test_struts_simscape_model}). +The obtained model was first used to compare the measured FRF with the existing model (Section \ref{ssec:test_struts_comp_model}). + +Using a flexible APA model (extracted from a \acrshort{fem}), the effect of a misalignment of the APA with respect to flexible joints is studied (Section \ref{ssec:test_struts_effect_misalignment}). +It was found that misalignment has a large impact on the dynamics from \(u\) to \(d_e\). +This misalignment is estimated and measured in Section \ref{ssec:test_struts_meas_misalignment}. +The struts were then disassembled and reassemble a second time to optimize alignment (Section \ref{sec:test_struts_meas_all_aligned_struts}). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.65\linewidth]{figs/test_struts_simscape_model.png} +\caption{\label{fig:test_struts_simscape_model}Screenshot of the multi-body model of the strut fixed to the bench} +\end{figure} +\subsection{Model dynamics} +\label{ssec:test_struts_comp_model} + +Two models of the APA300ML are used here: a simple two-degrees-of-freedom model and a model using a super-element extracted from a \acrlong{fem}. +These two models of the APA300ML were tuned to best match the measured frequency response functions of the APA alone. +The flexible joints were modelled with the 4DoF model (axial stiffness, two bending stiffnesses and one torsion stiffness). +These two models are compared with the measured frequency responses in Figure \ref{fig:test_struts_comp_frf_flexible_model}. + +The model dynamics from DAC voltage \(u\) to the axial motion of the strut \(d_a\) (Figure \ref{fig:test_struts_comp_frf_flexible_model_int}) and from DAC voltage \(u\) to the force sensor voltage \(V_s\) (Figure \ref{fig:test_struts_comp_frf_flexible_model_iff}) are well matching the experimental identification. + +However, the transfer function from \(u\) to encoder displacement \(d_e\) are not well matching for both models. +For the 2DoF model, this is normal because the resonances affecting the dynamics are not modelled at all (the APA300ML is modeled as infinitely rigid in all directions except the translation along it's actuation axis). +For the flexible model, it will be shown in the next section that by adding some misalignment between the flexible joints and the APA300ML, this model can better represent the observed dynamics. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_comp_frf_flexible_model_int.png} +\end{center} +\subcaption{\label{fig:test_struts_comp_frf_flexible_model_int}$u$ to $d_a$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_comp_frf_flexible_model_enc.png} +\end{center} +\subcaption{\label{fig:test_struts_comp_frf_flexible_model_enc}$u$ to $d_e$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_struts_comp_frf_flexible_model_iff.png} +\end{center} +\subcaption{\label{fig:test_struts_comp_frf_flexible_model_iff}$u$ to $V_s$} +\end{subfigure} +\caption{\label{fig:test_struts_comp_frf_flexible_model}Comparison of the measured frequency response functions, the multi-body model using the 2 DoF APA model, and using the ``flexible'' APA300ML model (Super-Element extracted from a Finite Element Model).} +\end{figure} + +\subsection{Effect of strut misalignment} +\label{ssec:test_struts_effect_misalignment} + +As shown in Figure \ref{fig:test_struts_comp_enc_plants}, the identified dynamics from DAC voltage \(u\) to encoder measured displacement \(d_e\) are very different from one strut to the other. +In this section, it is investigated whether poor alignment of the strut (flexible joints with respect to the APA) can explain such dynamics. +For instance, consider Figure \ref{fig:test_struts_misalign_schematic} where there is a misalignment in the \(y\) direction between the two flexible joints (well aligned thanks to the mounting procedure in Section \ref{sec:test_struts_mounting}) and the APA300ML. +In this case, the ``x-bending'' mode at 200Hz (see Figure \ref{fig:test_struts_meas_x_bending}) can be expected to have greater impact on the dynamics from the actuator to the encoder. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.8\linewidth]{figs/test_struts_misalign_schematic.png} +\caption{\label{fig:test_struts_misalign_schematic}Mis-alignement between the joints and the APA} +\end{figure} + +To verify this assumption, the dynamics from the output DAC voltage \(u\) to the measured displacement by the encoder \(d_e\) is computed using the flexible APA model for several misalignments in the \(y\) direction. +The obtained dynamics are shown in Figure \ref{fig:test_struts_effect_misalignment_y}. +The alignment of the APA with the flexible joints has a large influence on the dynamics from actuator voltage to the measured displacement by the encoder. +The misalignment in the \(y\) direction mostly influences: +\begin{itemize} +\item the presence of the flexible mode at 200Hz (see mode shape in Figure \ref{fig:test_struts_mode_shapes_1}) +\item the location of the complex conjugate zero between the first two resonances: +\begin{itemize} +\item if \(d_{y} < 0\): there is no zero between the two resonances and possibly not even between the second and third resonances +\item if \(d_{y} > 0\): there is a complex conjugate zero between the first two resonances +\end{itemize} +\item the location of the high frequency complex conjugate zeros at 500Hz (secondary effect, as the axial stiffness of the joint also has large effect on the position of this zero) +\end{itemize} + +The same can be done for misalignments in the \(x\) direction. +The obtained dynamics (Figure \ref{fig:test_struts_effect_misalignment_x}) are showing that misalignment in the \(x\) direction mostly influences the presence of the flexible mode at 300Hz (see mode shape in Figure \ref{fig:test_struts_mode_shapes_2}). + +A comparison of the experimental frequency response functions in Figure \ref{fig:test_struts_comp_enc_plants} with the model dynamics for several \(y\) misalignments in Figure \ref{fig:test_struts_effect_misalignment_y} indicates a clear similarity. +This similarity suggests that the identified differences in dynamics are caused by misalignment. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_effect_misalignment_y.png} +\end{center} +\subcaption{\label{fig:test_struts_effect_misalignment_y}Misalignment along $y$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_struts_effect_misalignment_x.png} +\end{center} +\subcaption{\label{fig:test_struts_effect_misalignment_x}Misalignment along $x$} +\end{subfigure} +\caption{\label{fig:test_struts_effect_misalignment}Effect of a misalignment between the flexible joints and the APA300ML in the \(y\) direction \subref{fig:test_struts_effect_misalignment_y} and in the \(x\) direction \subref{fig:test_struts_effect_misalignment_x}} +\end{figure} + +\subsection{Measured strut misalignment} +\label{ssec:test_struts_meas_misalignment} + +During the initial mounting of the struts, as presented in Section \ref{sec:test_struts_mounting}, the positioning pins that were used to position the APA with respect to the flexible joints in the \(y\) directions were not used (not received at the time). +Therefore, large \(y\) misalignments are expected. + +To estimate the misalignments between the two flexible joints and the APA: +\begin{itemize} +\item the struts were fixed horizontally on the mounting bench, as shown in Figure \ref{fig:test_struts_mounting_step_3} but without the encoder +\item using a length gauge\footnote{Heidenhain MT25, specified accuracy of \(\pm 0.5\,\mu m\)}, the height difference between the flexible joints surface and the APA shell surface was measured for both the top and bottom joints and for both sides +\item as the thickness of the flexible joint is \(21\,mm\) and the thickness of the APA shell is \(20\,mm\), \(0.5\,mm\) of height difference should be measured if the two are perfectly aligned +\end{itemize} + +Large variations in the \(y\) misalignment are found from one strut to the other (results are summarized in Table \ref{tab:test_struts_meas_y_misalignment}). + +To check the validity of the measurement, it can be verified that the sum of the measured thickness difference on each side is \(1\,mm\) (equal to the thickness difference between the flexible joint and the APA). +Thickness differences for all the struts were found to be between \(0.94\,mm\) and \(1.00\,mm\) which indicate low errors compared to the misalignments found in Table \ref{tab:test_struts_meas_y_misalignment}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.25\linewidth}{ccc} +\toprule +\textbf{Strut} & \textbf{Bot} & \textbf{Top}\\ +\midrule +1 & 0.1 & 0.33\\ +2 & -0.19 & 0.14\\ +3 & 0.41 & 0.32\\ +4 & -0.01 & 0.54\\ +5 & 0.15 & 0.02\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_struts_meas_y_misalignment}Measured \(y\) misalignment at the top and bottom of the APA. Measurements are in \(mm\)} + +\end{table} + +By using the measured \(y\) misalignment in the model with the flexible APA model, the model dynamics from \(u\) to \(d_e\) is closer to the measured dynamics, as shown in Figure \ref{fig:test_struts_comp_dy_tuned_model_frf_enc}. +A better match in the dynamics can be obtained by fine-tuning both the \(x\) and \(y\) misalignments (yellow curves in Figure \ref{fig:test_struts_comp_dy_tuned_model_frf_enc}). + +This confirms that misalignment between the APA and the strut axis (determined by the two flexible joints) is critical and inducing large variations in the dynamics from DAC voltage \(u\) to encoder measured displacement \(d_e\). +If encoders are fixed to the struts, the APA and flexible joints must be precisely aligned when mounting the struts. + +In the next section, the struts are re-assembled with a ``positioning pin'' to better align the APA with the flexible joints. +With a better alignment, the amplitude of the spurious resonances is expected to decrease, as shown in Figure \ref{fig:test_struts_effect_misalignment_y}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_struts_comp_dy_tuned_model_frf_enc.png} +\caption{\label{fig:test_struts_comp_dy_tuned_model_frf_enc}Comparison of the frequency response functions from DAC voltage \(u\) to measured displacement \(d_e\) by the encoders for the three struts. In blue, the measured dynamics is represted, in red the dynamics extracted from the model with the \(y\) misalignment estimated from measurements, and in yellow, the dynamics extracted from the model when both the \(x\) and \(y\) misalignments are tuned} +\end{figure} + +\subsection{Proper struts alignment} +\label{sec:test_struts_meas_all_aligned_struts} + +After receiving the positioning pins, the struts were mounted again with the positioning pins. +This should improve the alignment of the APA with the two flexible joints. + +The alignment is then estimated using a length gauge, as described in the previous sections. +Measured \(y\) alignments are summarized in Table \ref{tab:test_struts_meas_y_misalignment_with_pin} and are found to be bellow \(55\mu m\) for all the struts, which is much better than before (see Table \ref{tab:test_struts_meas_y_misalignment}). + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.25\linewidth}{ccc} +\toprule +\textbf{Strut} & \textbf{Bot} & \textbf{Top}\\ +\midrule +1 & -0.02 & 0.01\\ +2 & 0.055 & 0.0\\ +3 & 0.01 & -0.02\\ +4 & 0.03 & -0.03\\ +5 & 0.0 & 0.0\\ +6 & -0.005 & 0.055\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_struts_meas_y_misalignment_with_pin}Measured \(y\) misalignment at the top and bottom of the APA after realigning the struts using a positioning pin. Measurements are in \(mm\).} + +\end{table} + +The dynamics of the re-aligned struts were then measured on the same test bench (Figure \ref{fig:test_struts_bench_leg}). +A comparison of the initial strut dynamics and the dynamics of the re-aligned struts (i.e. with the positioning pin) is presented in Figure \ref{fig:test_struts_comp_enc_frf_realign}. +Even though the struts are now much better aligned, not much improvement can be observed. +The dynamics of the six aligned struts were also quite different from one another. + +The fact that the encoders are fixed to the struts makes the control more challenging. +Therefore, fixing the encoders to the nano-hexapod plates instead may be an interesting option. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_struts_comp_enc_frf_realign.png} +\caption{\label{fig:test_struts_comp_enc_frf_realign}Comparison of the dynamics from \(u\) to \(d_e\) before and after proper alignment using the dowel pins} +\end{figure} + +\subsection*{Conclusion} +\label{sec:test_struts_conclusion} + +The Hano-Hexapod struts are a key component of the developed \acrfull{nass}. +A mounting bench was used to obtain struts with good interface coaxiality, equal lengths, and ideally the same dynamics. +Using a test bench, it was found that while all the mounted struts had extremely similar dynamics when considering the axial motion and the integrated force sensor, the dynamics as seen by the encoder is much more complex and varied from one strut to the other. + +Thanks to a \acrshort{fem} and experimental measurements, the modes inducing this complex dynamics was identified. +The variability in the dynamics was attributed to the poor alignment of the \acrshort{apa} with respect to the flexible joints. +Even with better alignment using dowel pins, the observed dynamics by the encoder remained problematic. +Therefore, the encoders will be fixed directly to the nano-hexapod plates rather than being fixed to the struts. \section{Nano-Hexapod} +Prior to the nano-hexapod assembly, all the struts were mounted and individually characterized. +In Section \ref{sec:test_nhexa_mounting}, the assembly procedure of the nano-hexapod is presented. -\section{Rotating Nano-Hexapod} +To identify the dynamics of the nano-hexapod, a special suspended table was developed, which consisted of a stiff ``optical breadboard'' suspended on top of four soft springs. +The Nano-Hexapod was then mounted on top of the suspended table such that its dynamics is not affected by complex dynamics except from the suspension modes of the table that can be well characterized and modeled (Section \ref{sec:test_nhexa_table}). -\section{ID31 Micro Station} +The obtained nano-hexapod dynamics is analyzed in Section \ref{sec:test_nhexa_dynamics}, and compared with the multi-body model in Section \ref{sec:test_nhexa_model}. + +\subsection{Nano-Hexapod Assembly Procedure} +\label{sec:test_nhexa_mounting} +The assembly of the nano-hexapod is critical for both avoiding additional stress in the flexible joints (that would result in a loss of stroke) and for precisely determining the Jacobian matrix. +The goal was to fix the six struts to the two nano-hexapod plates (shown in Figure \ref{fig:test_nhexa_nano_hexapod_plates}) while the two plates were parallel and aligned vertically so that all the flexible joints did not experience any stress. +To do so, a precisely machined mounting tool (Figure \ref{fig:test_nhexa_center_part_hexapod_mounting}) is used to position the two nano-hexapod plates during the assembly procedure. + +\begin{figure}[htbp] +\begin{subfigure}{0.59\textwidth} +\begin{center} +\includegraphics[scale=1,height=4cm]{figs/test_nhexa_nano_hexapod_plates.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_nano_hexapod_plates}Top and bottom plates} +\end{subfigure} +\begin{subfigure}{0.39\textwidth} +\begin{center} +\includegraphics[scale=1,height=4cm]{figs/test_nhexa_center_part_hexapod_mounting.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_center_part_hexapod_mounting}Mounting tool} +\end{subfigure} +\caption{\label{fig:test_nhexa_received_parts}Nano-Hexapod plates \subref{fig:test_nhexa_nano_hexapod_plates} and mounting tool used to position the two plates during assembly \subref{fig:test_nhexa_center_part_hexapod_mounting}} +\end{figure} + +The mechanical tolerances of the received plates were checked using a FARO arm\footnote{FARO Arm Platinum 4ft, specified accuracy of \(\pm 13\mu m\)} (Figure \ref{fig:test_nhexa_plates_tolerances}) and were found to comply with the requirements\footnote{Location of all the interface surfaces with the flexible joints were checked. The fittings (182H7 and 24H8) with the interface element were also checked.}. +The same was done for the mounting tool\footnote{The height dimension is better than \(40\,\mu m\). The diameter fitting of 182g6 and 24g6 with the two plates is verified.}. +The two plates were then fixed to the mounting tool, as shown in Figure \ref{fig:test_nhexa_mounting_tool_hexapod_top_view}. +The main goal of this ``mounting tool'' is to position the flexible joint interfaces (the ``V'' shapes) of both plates so that a cylinder can rest on the 4 flat interfaces at the same time. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_plates_tolerances.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_plates_tolerances}Dimensional check of the bottom plate} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_mounting_tool_hexapod_top_view.png} +\end{center} +\subcaption{\label{fig:test_nhexa_mounting_tool_hexapod_top_view}Wanted coaxiality between interfaces} +\end{subfigure} +\caption{\label{fig:test_nhexa_dimensional_check}A FARO arm is used to dimensionally check the received parts \subref{fig:test_nhexa_plates_tolerances} and after mounting the two plates with the mounting part \subref{fig:test_nhexa_mounting_tool_hexapod_top_view}} +\end{figure} + +The quality of the positioning can be estimated by measuring the ``straightness'' of the top and bottom ``V'' interfaces. +This corresponds to the diameter of the smallest cylinder which contains all points along the measured axis. +This was again done using the FARO arm, and the results for all six struts are summarized in Table \ref{tab:measured_straightness}. +The straightness was found to be better than \(15\,\mu m\) for all struts\footnote{As the accuracy of the FARO arm is \(\pm 13\,\mu m\), the true straightness is probably better than the values indicated. The limitation of the instrument is here reached.}, which is sufficiently good to not induce significant stress of the flexible joint during assembly. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.35\linewidth}{Xcc} +\toprule +\textbf{Strut} & \textbf{Meas 1} & \textbf{Meas 2}\\ +\midrule +1 & \(7\,\mu m\) & \(3\, \mu m\)\\ +2 & \(11\, \mu m\) & \(11\, \mu m\)\\ +3 & \(15\, \mu m\) & \(14\, \mu m\)\\ +4 & \(6\, \mu m\) & \(6\, \mu m\)\\ +5 & \(7\, \mu m\) & \(5\, \mu m\)\\ +6 & \(6\, \mu m\) & \(7\, \mu m\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:measured_straightness}Measured straightness between the two ``V'' shapes for the six struts. These measurements were performed twice for each strut.} + +\end{table} + +The encoder rulers and heads were then fixed to the top and bottom plates, respectively (Figure \ref{fig:test_nhexa_mount_encoder}), and the encoder heads were aligned to maximize the received contrast. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_mount_encoder_rulers.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_mount_encoder_rulers}Encoder rulers} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_mount_encoder_heads.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_mount_encoder_heads}Encoder heads} +\end{subfigure} +\caption{\label{fig:test_nhexa_mount_encoder}Mounting of the encoders to the Nano-hexapod. The rulers are fixed to the top plate \subref{fig:test_nhexa_mount_encoder_rulers} while encoders heads are fixed to the bottom plate \subref{fig:test_nhexa_mount_encoder_heads}} +\end{figure} + +The six struts were then fixed to the bottom and top plates one by one. +First, the top flexible joint is fixed so that its flat reference surface is in contact with the top plate. +This step precisely determines the position of the flexible joint with respect to the top plate. +The bottom flexible joint is then fixed. +After mounting all six struts, the mounting tool (Figure \ref{fig:test_nhexa_center_part_hexapod_mounting}) can be disassembled, and the nano-hexapod as shown in Figure \ref{fig:test_nhexa_nano_hexapod_mounted} is fully assembled. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_mounted_hexapod.jpg} +\caption{\label{fig:test_nhexa_nano_hexapod_mounted}Mounted Nano-Hexapod} +\end{figure} + +\subsection{Suspended Table} +\label{sec:test_nhexa_table} +\subsection{Introduction} + +When a dynamical system is fixed to a support (such as a granite or an optical table), its dynamics will couple to the support dynamics. +This may results in additional modes appearing in the system dynamics, which are difficult to predict and model. +To prevent this issue, the strategy adopted here is to mount the nano-hexapod on top a suspended table with low frequency suspension modes. + +In this case, the modes of the suspended table were chosen to be at much lower frequency than those of the nano-hexapod such that good decoupling is obtained. +Another key advantage is that the suspension modes of the table can be easily represented using a multi-body model. +Therefore, the measured dynamics of the nano-hexapod on top of the suspended table can be compared to a multi-body model representing the same experimental conditions. +The model of the Nano-Hexapod can thus be precisely tuned to match the measured dynamics. + +The developed suspended table is described in Section \ref{ssec:test_nhexa_table_setup}. +The modal analysis of the table is done in \ref{ssec:test_nhexa_table_identification}. +Finally, the multi-body model representing the suspended table was tuned to match the measured modes (Section \ref{ssec:test_nhexa_table_model}). + +\subsection{Experimental Setup} +\label{ssec:test_nhexa_table_setup} + +The design of the suspended table is quite straightforward. +First, an optical table with high frequency flexible mode was selected\footnote{The 450 mm x 450 mm x 60 mm Nexus B4545A from Thorlabs.}. +Then, four springs\footnote{``SZ8005 20 x 044'' from Steinel. The spring rate is specified at \(17.8\,N/mm\)} were selected with low spring rate such that the suspension modes are below 10Hz. +Finally, some interface elements were designed, and mechanical lateral mechanical stops were added (Figure \ref{fig:test_nhexa_suspended_table_cad}). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.7\linewidth]{figs/test_nhexa_suspended_table_cad.jpg} +\caption{\label{fig:test_nhexa_suspended_table_cad}CAD View of the vibration table. The purple cylinders are representing the soft springs.} +\end{figure} + +\subsection{Modal analysis of the suspended table} +\label{ssec:test_nhexa_table_identification} + +In order to perform a modal analysis of the suspended table, a total of 15 3-axis accelerometers\footnote{PCB 356B18. Sensitivity is \(1\,V/g\), measurement range is \(\pm 5\,g\) and bandwidth is \(0.5\) to \(5\,\text{kHz}\).} were fixed to the breadboard. +Using an instrumented hammer, the first 9 modes could be identified and are summarized in Table \ref{tab:test_nhexa_suspended_table_modes}. +The first 6 modes are suspension modes (i.e. rigid body mode of the breadboard) and are located below 10Hz. +The next modes are the flexible modes of the breadboard as shown in Figure \ref{fig:test_nhexa_table_flexible_modes}, and are located above 700Hz. + +\begin{minipage}[t]{0.45\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/test_nhexa_suspended_table.jpg} +\captionof{figure}{\label{fig:test_nhexa_suspended_table}Mounted suspended table. Only 1 or the 15 accelerometer is mounted on top} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.45\textwidth} +\begin{scriptsize} +\begin{center} +\begin{tabularx}{0.9\linewidth}{clX} +\toprule +\textbf{Modes} & \textbf{Frequency} & \textbf{Description}\\ +\midrule +1,2 & 1.3 Hz & X-Y translations\\ +3 & 2.0 Hz & Z rotation\\ +4 & 6.9 Hz & Z translation\\ +5,6 & 9.5 Hz & X-Y rotations\\ +\midrule +7 & 701 Hz & ``Membrane'' Mode\\ +8 & 989 Hz & Complex mode\\ +9 & 1025 Hz & Complex mode\\ +\bottomrule +\end{tabularx} +\captionof{table}{\label{tab:test_nhexa_suspended_table_modes}Obtained modes of the suspended table} + +\end{center} +\end{scriptsize} +\end{minipage} + +\begin{figure}[htbp] +\begin{subfigure}{\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_table_flexible_mode_1.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_table_flexible_mode_1}Flexible mode at 701Hz} +\end{subfigure} +\begin{subfigure}{\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_table_flexible_mode_2.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_table_flexible_mode_2}Flexible mode at 989Hz} +\end{subfigure} +\begin{subfigure}{\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_table_flexible_mode_3.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_table_flexible_mode_3}Flexible mode at 1025Hz} +\end{subfigure} +\caption{\label{fig:test_nhexa_table_flexible_modes}Three identified flexible modes of the suspended table} +\end{figure} + +\subsection{Multi-body Model of the suspended table} +\label{ssec:test_nhexa_table_model} + +The multi-body model of the suspended table consists simply of two solid bodies connected by 4 springs. +The 4 springs are here modeled with ``bushing joints'' that have stiffness and damping properties in x, y, and z directions. + +The model order is 12, which corresponds to the 6 suspension modes. +The inertia properties of the parts were determined from the geometry and material densities. +The stiffness of the springs was initially set from the datasheet nominal value of \(17.8\,N/mm\) and then reduced down to \(14\,N/mm\) to better match the measured suspension modes. +The stiffness of the springs in the horizontal plane is set at \(0.5\,N/mm\). +The obtained suspension modes of the multi-body model are compared with the measured modes in Table \ref{tab:test_nhexa_suspended_table_simscape_modes}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.6\linewidth}{Xcccc} +\toprule +Directions & \(D_x\), \(D_y\) & \(R_z\) & \(D_z\) & \(R_x\), \(R_y\)\\ +\midrule +Multi-body & 1.3 Hz & 1.8 Hz & 6.8 Hz & 9.5 Hz\\ +Experimental & 1.3 Hz & 2.0 Hz & 6.9 Hz & 9.5 Hz\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_nhexa_suspended_table_simscape_modes}Comparison of suspension modes of the multi-body model and the measured ones} + +\end{table} + +\subsection{Nano-Hexapod Measured Dynamics} +\label{sec:test_nhexa_dynamics} +The Nano-Hexapod was then mounted on top of the suspended table, as shown in Figure \ref{fig:test_nhexa_hexa_suspended_table}. +All instrumentation (Speedgoat with ADC, DAC, piezoelectric voltage amplifiers and digital interfaces for the encoder) were configured and connected to the nano-hexapod using many cables. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.7\linewidth]{figs/test_nhexa_hexa_suspended_table.jpg} +\caption{\label{fig:test_nhexa_hexa_suspended_table}Mounted Nano-Hexapod on top of the suspended table} +\end{figure} + +A modal analysis of the nano-hexapod is first performed in Section \ref{ssec:test_nhexa_enc_struts_modal_analysis}. +The results of the modal analysis will be useful to better understand the measured dynamics from actuators to sensors. + +A block diagram of the (open-loop) system is shown in Figure \ref{fig:test_nhexa_nano_hexapod_signals}. +The frequency response functions from controlled signals \(\mathbf{u}\) to the force sensors voltages \(\mathbf{V}_s\) and to the encoders measured displacements \(\mathbf{d}_e\) are experimentally identified in Section \ref{ssec:test_nhexa_identification}. +The effect of the payload mass on the dynamics is discussed in Section \ref{ssec:test_nhexa_added_mass}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_nano_hexapod_signals.png} +\caption{\label{fig:test_nhexa_nano_hexapod_signals}Block diagram of the studied system. The command signal generated by the speedgoat is \(\mathbf{u}\), and the measured dignals are \(\mathbf{d}_{e}\) and \(\mathbf{V}_s\). Units are indicated in square brackets.} +\end{figure} + +\subsection{Modal analysis} +\label{ssec:test_nhexa_enc_struts_modal_analysis} + +To facilitate the future analysis of the measured plant dynamics, a basic modal analysis of the nano-hexapod is performed. +Five 3-axis accelerometers were fixed on the top platform of the nano-hexapod (Figure \ref{fig:test_nhexa_modal_analysis}) and the top platform was excited using an instrumented hammer. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.7\linewidth]{figs/test_nhexa_modal_analysis.jpg} +\caption{\label{fig:test_nhexa_modal_analysis}Five accelerometers fixed on top of the nano-hexapod to perform a modal analysis} +\end{figure} + +Between 100Hz and 200Hz, 6 suspension modes (i.e. rigid body modes of the top platform) were identified. +At around 700Hz, two flexible modes of the top plate were observed (see Figure \ref{fig:test_nhexa_hexa_flexible_modes}). +These modes are summarized in Table \ref{tab:test_nhexa_hexa_modal_modes_list}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.7\linewidth}{ccX} +\toprule +\textbf{Mode} & \textbf{Frequency} & \textbf{Description}\\ +\midrule +1 & 120 Hz & Suspension Mode: Y-translation\\ +2 & 120 Hz & Suspension Mode: X-translation\\ +3 & 145 Hz & Suspension Mode: Z-translation\\ +4 & 165 Hz & Suspension Mode: Y-rotation\\ +5 & 165 Hz & Suspension Mode: X-rotation\\ +6 & 190 Hz & Suspension Mode: Z-rotation\\ +7 & 692 Hz & (flexible) Membrane mode of the top platform\\ +8 & 709 Hz & Second flexible mode of the top platform\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_nhexa_hexa_modal_modes_list}Description of the identified modes of the Nano-Hexapod} + +\end{table} + +\begin{figure}[htbp] +\begin{subfigure}{\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_hexa_flexible_mode_1.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_hexa_flexible_mode_1}Flexible mode at 692Hz} +\end{subfigure} +\begin{subfigure}{\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_hexa_flexible_mode_2.jpg} +\end{center} +\subcaption{\label{fig:test_nhexa_hexa_flexible_mode_2}Flexible mode at 709Hz} +\end{subfigure} +\caption{\label{fig:test_nhexa_hexa_flexible_modes}Two identified flexible modes of the top plate of the Nano-Hexapod} +\end{figure} + +\subsection{Identification of the dynamics} +\label{ssec:test_nhexa_identification} + +The dynamics of the nano-hexapod from the six command signals (\(u_1\) to \(u_6\)) to the six measured displacement by the encoders (\(d_{e1}\) to \(d_{e6}\)) and to the six force sensors (\(V_{s1}\) to \(V_{s6}\)) were identified by generating low-pass filtered white noise for each command signal, one by one. + +The \(6 \times 6\) FRF matrix from \(\mathbf{u}\) ot \(\mathbf{d}_e\) is shown in Figure \ref{fig:test_nhexa_identified_frf_de}. +The diagonal terms are displayed using colored lines, and all the 30 off-diagonal terms are displayed by gray lines. + +All six diagonal terms are well superimposed up to at least \(1\,kHz\), indicating good manufacturing and mounting uniformity. +Below the first suspension mode, good decoupling can be observed (the amplitude of all off-diagonal terms are \(\approx 20\) times smaller than the diagonal terms), indicating the correct assembly of all parts. + +From 10Hz up to 1kHz, around 10 resonance frequencies can be observed. +The first 4 are suspension modes (at 122Hz, 143Hz, 165Hz and 191Hz) which correlate the modes measured during the modal analysis in Section \ref{ssec:test_nhexa_enc_struts_modal_analysis}. +Three modes at 237Hz, 349Hz and 395Hz are attributed to the internal strut resonances (this will be checked in Section \ref{ssec:test_nhexa_comp_model_coupling}). +Except for the mode at 237Hz, their impact on the dynamics is small. +The two modes at 665Hz and 695Hz are attributed to the flexible modes of the top platform. +Other modes can be observed above 1kHz, which can be attributed to flexible modes of the encoder supports or to flexible modes of the top platform. + +Up to at least 1kHz, an alternating pole/zero pattern is observed, which makes the control easier to tune. +This would not have occurred if the encoders were fixed to the struts. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_identified_frf_de.png} +\caption{\label{fig:test_nhexa_identified_frf_de}Measured FRF for the transfer function from \(\mathbf{u}\) to \(\mathbf{d}_e\). The 6 diagonal terms are the colored lines (all superimposed), and the 30 off-diagonal terms are the gray lines.} +\end{figure} + +Similarly, the \(6 \times 6\) FRF matrix from \(\mathbf{u}\) to \(\mathbf{V}_s\) is shown in Figure \ref{fig:test_nhexa_identified_frf_Vs}. +Alternating poles and zeros can be observed up to at least 2kHz, which is a necessary characteristics for applying decentralized IFF. +Similar to what was observed for the encoder outputs, all the ``diagonal'' terms are well superimposed, indicating that the same controller can be applied to all the struts. +The first flexible mode of the struts as 235Hz has large amplitude, and therefore, it should be possible to add some damping to this mode using IFF. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=\linewidth]{figs/test_nhexa_identified_frf_Vs.png} +\caption{\label{fig:test_nhexa_identified_frf_Vs}Measured FRF for the transfer function from \(\mathbf{u}\) to \(\mathbf{V}_s\). The 6 diagonal terms are the colored lines (all superimposed), and the 30 off-diagonal terms are the shaded black lines.} +\end{figure} + +\subsection{Effect of payload mass on the dynamics} +\label{ssec:test_nhexa_added_mass} + +One major challenge for controlling the NASS is the wanted robustness to a variation of payload mass; therefore, it is necessary to understand how the dynamics of the nano-hexapod changes with a change in payload mass. + +To study how the dynamics changes with the payload mass, up to three ``cylindrical masses'' of \(13\,kg\) each can be added for a total of \(\approx 40\,kg\). +These three cylindrical masses on top of the nano-hexapod are shown in Figure \ref{fig:test_nhexa_table_mass_3}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.8\linewidth]{figs/test_nhexa_table_mass_3.jpg} +\caption{\label{fig:test_nhexa_table_mass_3}Picture of the nano-hexapod with the added three cylindrical masses for a total of \(\approx 40\,kg\)} +\end{figure} + +The obtained frequency response functions from actuator signal \(u_i\) to the associated encoder \(d_{ei}\) for the four payload conditions (no mass, 13kg, 26kg and 39kg) are shown in Figure \ref{fig:test_nhexa_identified_frf_de_masses}. +As expected, the frequency of the suspension modes decreased with increasing payload mass. +The low frequency gain does not change because it is linked to the stiffness property of the nano-hexapod and not to its mass property. + +The frequencies of the two flexible modes of the top plate first decreased significantly when the first mass was added (from \(\approx 700\,Hz\) to \(\approx 400\,Hz\)). +This is because the added mass is composed of two half cylinders that are not fixed together. +Therefore, it adds a lot of mass to the top plate without increasing stiffness in one direction. +When more than one ``mass layer'' is added, the half cylinders are added at some angles such that rigidity is added in all directions (see how the three mass ``layers'' are positioned in Figure \ref{fig:test_nhexa_table_mass_3}). +In this case, the frequency of these flexible modes is increased. +In practice, the payload should be one solid body, and no decrease in the frequency of this flexible mode should be observed. +The apparent amplitude of the flexible mode of the strut at 237Hz becomes smaller as the payload mass increased. + +The measured FRFs from \(u_i\) to \(V_{si}\) are shown in Figure \ref{fig:test_nhexa_identified_frf_Vs_masses}. +For all tested payloads, the measured FRF always have alternating poles and zeros, indicating that IFF can be applied in a robust manner. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_identified_frf_de_masses.png} +\end{center} +\subcaption{\label{fig:test_nhexa_identified_frf_de_masses}$u_i$ to $d_{ei}$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_identified_frf_Vs_masses.png} +\end{center} +\subcaption{\label{fig:test_nhexa_identified_frf_Vs_masses}$u_i$ to $V_{si}$} +\end{subfigure} +\caption{\label{fig:test_nhexa_identified_frf_masses}Measured Frequency Response Functions from \(u_i\) to \(d_{ei}\) \subref{fig:test_nhexa_identified_frf_de_masses} and from \(u_i\) to \(V_{si}\) \subref{fig:test_nhexa_identified_frf_Vs_masses} for all 4 payload conditions. Only diagonal terms are shown.} +\end{figure} + +\subsection{Nano-Hexapod Model Dynamics} +\label{sec:test_nhexa_model} +In this section, the dynamics measured in Section \ref{sec:test_nhexa_dynamics} is compared with those estimated from the multi-body model. +The nano-hexapod multi-body model was therefore added on top of the vibration table multi-body model, as shown in Figure \ref{fig:test_nhexa_hexa_simscape}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.8\linewidth]{figs/test_nhexa_hexa_simscape.png} +\caption{\label{fig:test_nhexa_hexa_simscape}3D representation of the multi-body model with the nano-hexapod on top of the suspended table. Three mass ``layers'' are here added} +\end{figure} + +The model should exhibit certain characteristics that are verified in this section. +First, it should match the measured system dynamics from actuators to sensors presented in Section \ref{sec:test_nhexa_dynamics}. +Both the ``direct'' terms (Section \ref{ssec:test_nhexa_comp_model}) and ``coupling'' terms (Section \ref{ssec:test_nhexa_comp_model_coupling}) of the multi-body model are compared with the measured dynamics. +Second, it should also represents how the system dynamics changes when a payload is fixed to the top platform. +This is checked in Section \ref{ssec:test_nhexa_comp_model_masses}. + +\subsection{Nano-Hexapod model dynamics} +\label{ssec:test_nhexa_comp_model} + +The multi-body model of the nano-hexapod was first configured with 4-DoF flexible joints, 2-DoF APA, and rigid top and bottom plates. +The stiffness values of the flexible joints were chosen based on the values estimated using the test bench and on the FEM. +The parameters of the APA model were determined from the test bench of the APA. +The \(6 \times 6\) transfer function matrices from \(\mathbf{u}\) to \(\mathbf{d}_e\) and from \(\mathbf{u}\) to \(\mathbf{V}_s\) are then extracted from the multi-body model. + +First, is it evaluated how well the models matches the ``direct'' terms of the measured FRF matrix. +To do so, the diagonal terms of the extracted transfer function matrices are compared with the measured FRF in Figure \ref{fig:test_nhexa_comp_simscape_diag}. +It can be seen that the 4 suspension modes of the nano-hexapod (at 122Hz, 143Hz, 165Hz and 191Hz) are well modeled. +The three resonances that were attributed to ``internal'' flexible modes of the struts (at 237Hz, 349Hz and 395Hz) cannot be seen in the model, which is reasonable because the APAs are here modeled as a simple uniaxial 2-DoF system. +At higher frequencies, no resonances can be observed in the model, as the top plate and the encoder supports are modeled as rigid bodies. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_comp_simscape_de_diag.png} +\end{center} +\subcaption{\label{fig:test_nhexa_comp_simscape_de_diag}from $u$ to $d_e$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_comp_simscape_Vs_diag.png} +\end{center} +\subcaption{\label{fig:test_nhexa_comp_simscape_Vs_diag}from $u$ to $V_s$} +\end{subfigure} +\caption{\label{fig:test_nhexa_comp_simscape_diag}Comparison of the diagonal elements (i.e. ``direct'' terms) of the measured FRF matrix and the dynamics identified from the multi-body model. Both for the dynamics from \(u\) to \(d_e\) \subref{fig:test_nhexa_comp_simscape_de_diag} and from \(u\) to \(V_s\) \subref{fig:test_nhexa_comp_simscape_Vs_diag}} +\end{figure} + +\subsection{Dynamical coupling} +\label{ssec:test_nhexa_comp_model_coupling} + +Another desired feature of the model is that it effectively represents coupling in the system, as this is often the limiting factor for the control of MIMO systems. +Instead of comparing the full 36 elements of the \(6 \times 6\) FFR matrix from \(\mathbf{u}\) to \(\mathbf{d}_e\), only the first ``column'' is compared (Figure \ref{fig:test_nhexa_comp_simscape_de_all}), which corresponds to the transfer function from the command \(u_1\) to the six measured encoder displacements \(d_{e1}\) to \(d_{e6}\). +It can be seen that the coupling in the model matches the measurements well up to the first un-modeled flexible mode at 237Hz. +Similar results are observed for all other coupling terms and for the transfer function from \(\mathbf{u}\) to \(\mathbf{V}_s\). + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_nhexa_comp_simscape_de_all.png} +\caption{\label{fig:test_nhexa_comp_simscape_de_all}Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal \(u_1\) to the six encoders \(d_{e1}\) to \(d_{e6}\). The APA are here modeled with a 2-DoF mass-spring-damper system.} +\end{figure} + +The APA300ML was then modeled with a \emph{super-element} extracted from a FE-software. +The obtained transfer functions from \(u_1\) to the six measured encoder displacements \(d_{e1}\) to \(d_{e6}\) are compared with the measured FRF in Figure \ref{fig:test_nhexa_comp_simscape_de_all_flex}. +While the damping of the suspension modes for the \emph{super-element} is underestimated (which could be solved by properly tuning the proportional damping coefficients), the flexible modes of the struts at 237Hz and 349Hz are well modeled. +Even the mode 395Hz can be observed in the model. +Therefore, if the modes of the struts are to be modeled, the \emph{super-element} of the APA300ML can be used at the cost of obtaining a much higher order model. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_nhexa_comp_simscape_de_all_flex.png} +\caption{\label{fig:test_nhexa_comp_simscape_de_all_flex}Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal \(u_1\) to the six encoders \(d_{e1}\) to \(d_{e6}\). The APA are here modeled with a ``super-element''.} +\end{figure} + +\subsection{Effect of payload mass} +\label{ssec:test_nhexa_comp_model_masses} + +Another important characteristic of the model is that it should represents the dynamics of the system well for all considered payloads. +The model dynamics is therefore compared with the measured dynamics for 4 payloads (no payload, 13kg, 26kg and 39kg) in Figure \ref{fig:test_nhexa_comp_simscape_diag_masses}. +The observed shift of the suspension modes to lower frequencies with increased payload mass is well represented by the multi-body model. +The complex conjugate zeros also well match the experiments both for the encoder outputs (Figure \ref{fig:test_nhexa_comp_simscape_de_diag_masses}) and the force sensor outputs (Figure \ref{fig:test_nhexa_comp_simscape_Vs_diag_masses}). + +Note that the model displays smaller damping than that observed experimentally for high values of the payload mass. +One option could be to tune the damping as a function of the mass (similar to what is done with the Rayleigh damping). +However, as decentralized IFF will be applied, the damping is actively brought, and the open-loop damping value should have very little impact on the obtained plant dynamics. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_comp_simscape_de_diag_masses.png} +\end{center} +\subcaption{\label{fig:test_nhexa_comp_simscape_de_diag_masses}from $u$ to $d_e$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_nhexa_comp_simscape_Vs_diag_masses.png} +\end{center} +\subcaption{\label{fig:test_nhexa_comp_simscape_Vs_diag_masses}from $u$ to $V_s$} +\end{subfigure} +\caption{\label{fig:test_nhexa_comp_simscape_diag_masses}Comparison of the diagonal elements (i.e. ``direct'' terms) of the measured FRF matrix and the dynamics identified from the multi-body model. Both for the dynamics from \(u\) to \(d_e\) \subref{fig:test_nhexa_comp_simscape_de_diag} and from \(u\) to \(V_s\) \subref{fig:test_nhexa_comp_simscape_Vs_diag}} +\end{figure} + +In order to also check if the model well represents the coupling when high payload masses are used, the transfer functions from \(u_1\) to \(d_{e1}\) to \(d_{e6}\) are compared in the case of the 39kg payload in Figure \ref{fig:test_nhexa_comp_simscape_de_all_high_mass}. +Excellent match between experimental and model coupling is observed. +Therefore, the model effectively represents the system coupling for different payloads. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_nhexa_comp_simscape_de_all_high_mass.png} +\caption{\label{fig:test_nhexa_comp_simscape_de_all_high_mass}Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal \(u_1\) to the six encoders \(d_{e1}\) to \(d_{e6}\)} +\end{figure} + +\subsection{Conclusion} +The goal of this test bench was to obtain an accurate model of the nano-hexapod that could then be included on top of the micro-station model. +The adopted strategy was to identify the nano-hexapod dynamics under conditions in which all factors that could have affected the nano-hexapod dynamics were considered. +This was achieved by developing a suspended table with low frequency suspension modes that can be accurately modeled (Section \ref{sec:test_nhexa_table}). +Although the dynamics of the nano-hexapod was indeed impacted by the dynamics of the suspended platform, this impact was also considered in the multi-body model. + +The dynamics of the nano-hexapod was then identified in Section \ref{sec:test_nhexa_dynamics}. +Below the first suspension mode, good decoupling could be observed for the transfer function from \(\bm{u}\) to \(\bm{d}_e\), which enables the design of a decentralized positioning controller based on the encoders for relative positioning purposes. +Many other modes were present above 700Hz, which will inevitably limit the achievable bandwidth. +The observed effect of the payload's mass on the dynamics was quite large, which also represents a complex control challenge. + +The frequency response functions from the six DAC voltages \(\bm{u}\) to the six force sensors voltages \(\bm{V}_s\) all have alternating complex conjugate poles and complex conjugate zeros for all the tested payloads (Figure \ref{fig:test_nhexa_comp_simscape_Vs_diag_masses}). +This indicates that it is possible to implement decentralized Integral Force Feedback in a robust manner. + +The developed multi-body model of the nano-hexapod was found to accurately represents the suspension modes of the Nano-Hexapod (Section \ref{sec:test_nhexa_model}). +Both FRF matrices from \(\mathbf{u}\) to \(\mathbf{V}_s\) and from \(\mathbf{u}\) to \(\mathbf{d}_e\) are well matching with the measurements, even when considering coupling (i.e. off-diagonal) terms, which are very important from a control perspective. +At frequencies above the suspension modes, the Nano-Hexapod model became inaccurate because the flexible modes were not modeled. +It was found that modeling the APA300ML using a \emph{super-element} allows to model the internal resonances of the struts. +The same can be done with the top platform and the encoder supports; however, the model order would be higher and may become unpractical for simulation. + +Obtaining a model that accurately represents the complex dynamics of the Nano-Hexapod was made possible by the modeling approach used in this study. +This approach involved tuning and validating models of individual components (such as the APA and flexible joints) using dedicated test benches. +The different models could then be combined to form the Nano-Hexapod dynamical model. +If a model of the nano-hexapod was developed in one time, it would be difficult to tune all the model parameters to match the measured dynamics, or even to know if the model ``structure'' would be adequate to represent the system dynamics. + +\section{Nano Active Stabilization System - ID31} +The nano-hexapod's mounting and validation through dynamics measurements marks a crucial milestone in the development of the Nano Active Stabilization System (NASS). +This chapter presents a comprehensive experimental evaluation of the complete system's performance on the ID31 beamline, focusing on its ability to maintain precise sample positioning during various experimental conditions. + +Initially, the project planned to develop a long-stroke (\(\approx 1 \, cm^3\)) 5-DoF metrology system to measure sample position relative to the granite base. +However, the complexity of this development prevented its completion before the experimental testing phase on ID31. +To proceed with validation of the nano active platform and its associated control architecture, an alternative short-stroke (\(> 100\,\mu m^3\)) metrology system was developed, which is presented in Section \ref{sec:test_id31_metrology}. + +Then, several key aspects of the system validation are examined. +Section \ref{sec:test_id31_open_loop_plant} analyzes the identified dynamics of the nano-hexapod mounted on the micro-station under various experimental conditions, including different payload masses and rotational velocities. +These measurements are compared with predictions from the multi-body model to verify its accuracy and applicability for control design. + +Sections \ref{sec:test_id31_iff} and \ref{sec:test_id31_hac} focus on the implementation and validation of the HAC-LAC control architecture. +First, Section \ref{sec:test_id31_iff} demonstrates the application of decentralized Integral Force Feedback for robust active damping of the nano-hexapod's suspension modes. +This is followed in Section \ref{sec:test_id31_hac} by the implementation of the high authority controller, which addresses low-frequency disturbances and completes the control system design. + +Finally, Section \ref{sec:test_id31_experiments} evaluates the NASS's positioning performances through a comprehensive series of experiments that mirror typical scientific applications. +These include tomography scans at various speeds and with different payload masses, reflectivity measurements, and combined motion sequences that test the system's full capabilities. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_micro_station_cables.jpg} +\end{center} +\subcaption{\label{fig:test_id31_micro_station_cables}Micro-station and nano-hexapod cables} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_fixed_nano_hexapod.jpg} +\end{center} +\subcaption{\label{fig:test_id31_fixed_nano_hexapod}Nano-hexapod fixed on top of the micro-station} +\end{subfigure} +\caption{\label{fig:test_id31_micro_station_nano_hexapod}Picture of the micro-station without the nano-hexapod \subref{fig:test_id31_micro_station_cables} and with the nano-hexapod \subref{fig:test_id31_fixed_nano_hexapod}} +\end{figure} + +\subsection{Short Stroke Metrology System} +\label{sec:test_id31_metrology} +The control of the nano-hexapod requires an external metrology system measuring the relative position of the nano-hexapod top platform with respect to the granite. +As the long-stroke (\(\approx 1 \,cm^3\)) metrology system was not developed yet, a stroke stroke (\(> 100\,\mu m^3\)) was used instead to validate the nano-hexapod control. + +A first considered option was to use the ``Spindle error analyzer'' shown in Figure \ref{fig:test_id31_lion}. +This system comprises 5 capacitive sensors which are facing two reference spheres. +But as the gap between the capacitive sensors and the spheres is very small\footnote{Depending on the measuring range, gap can range from \(\approx 1\,\mu m\) to \(\approx 100\,\mu m\).}, the risk of damaging the spheres and the capacitive sensors is too high. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_lion.jpg} +\end{center} +\subcaption{\label{fig:test_id31_lion}Capacitive Sensors} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_interf.jpg} +\end{center} +\subcaption{\label{fig:test_id31_interf}Short-Stroke metrology} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_interf_head.jpg} +\end{center} +\subcaption{\label{fig:test_id31_interf_head}Interferometer head} +\end{subfigure} +\caption{\label{fig:test_id31_short_stroke_metrology}Short stroke metrology system used to measure the sample position with respect to the granite in 5DoF. The system is based on a ``Spindle error analyzer'' \subref{fig:test_id31_lion}, but the capacitive sensors are replaced with fibered interferometers \subref{fig:test_id31_interf}. Interferometer heads are shown in \subref{fig:test_id31_interf_head}} +\end{figure} + +Instead of using capacitive sensors, 5 fibered interferometers were used in a similar way (Figure \ref{fig:test_id31_interf}). +At the end of each fiber, a sensor head\footnote{M12/F40 model from Attocube.} (Figure \ref{fig:test_id31_interf_head}) is used, which consists of a lens precisely positioned with respect to the fiber's end. +The lens is focusing the light on the surface of the sphere, such that the reflected light comes back into the fiber and produces an interference. +This way, the gap between the head and the reference sphere is much larger (here around \(40\,mm\)), removing the risk of collision. + +Nevertheless, the metrology system still has limited measurement range due to limited angular acceptance of the fibered interferometers. +Indeed, when the spheres are moving perpendicularly to the beam axis, the reflected light does not coincide with the incident light, and above some perpendicular displacement, the reflected light does not comes back into the fiber, and no interference is produced. +\subsection{Metrology Kinematics} +\label{ssec:test_id31_metrology_kinematics} + +The developed short-stroke metrology system is schematically shown in Figure \ref{fig:test_id31_metrology_kinematics}. +The point of interest is indicated by the blue frame \(\{B\}\), which is located \(H = 150\,mm\) above the nano-hexapod's top platform. +The spheres have a diameter \(d = 25.4\,mm\), and indicated dimensions are \(l_1 = 60\,mm\) and \(l_2 = 16.2\,mm\). +In order to compute the pose of the \(\{B\}\) frame with respect to the granite (i.e. with respect to the fixed interferometer heads), the measured (small) displacements \([d_1,\ d_2,\ d_3,\ d_4,\ d_5]\) by the interferometers are first written as a function of the (small) linear and angular motion of the \(\{B\}\) frame \([D_x,\ D_y,\ D_z,\ R_x,\ R_y]\) \eqref{eq:test_id31_metrology_kinematics}. + +\begin{equation}\label{eq:test_id31_metrology_kinematics} +d_1 = D_y - l_2 R_x, \quad d_2 = D_y + l_1 R_x, \quad d_3 = -D_x - l_2 R_y, \quad d_4 = -D_x + l_1 R_y, \quad d_5 = -D_z +\end{equation} + +\begin{minipage}[b]{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_metrology_kinematics.png} +\captionof{figure}{\label{fig:test_id31_metrology_kinematics}Schematic of the measurement system. Measured distances are indicated by red arrows.} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[b]{0.48\textwidth} +\begin{center} +\includegraphics[scale=1,width=\linewidth]{figs/test_id31_align_top_sphere_comparators.jpg} +\captionof{figure}{\label{fig:test_id31_align_top_sphere_comparators}The top sphere is aligned with the rotation axis of the spindle using two probes.} +\end{center} +\end{minipage} + +The five equations \eqref{eq:test_id31_metrology_kinematics} can be written in a matrix form, and then inverted to have the pose of the \(\{B\}\) frame as a linear combination of the measured five distances by the interferometers \eqref{eq:test_id31_metrology_kinematics_inverse}. + +\begin{equation}\label{eq:test_id31_metrology_kinematics_inverse} +\begin{bmatrix} + D_x \\ D_y \\ D_z \\ R_x \\ R_y +\end{bmatrix} = {\underbrace{\begin{bmatrix} + 0 & 1 & 0 & -l_2 & 0 \\ + 0 & 1 & 0 & l_1 & 0 \\ + -1 & 0 & 0 & 0 & -l_2 \\ + -1 & 0 & 0 & 0 & l_1 \\ + 0 & 0 & -1 & 0 & 0 +\end{bmatrix}}_{\bm{J_d}}}^{-1} \cdot \begin{bmatrix} + d_1 \\ d_2 \\ d_3 \\ d_4 \\ d_5 +\end{bmatrix} +\end{equation} + +\subsection{Rough alignment of the reference spheres} +\label{ssec:test_id31_metrology_sphere_rought_alignment} + +The two reference spheres are aligned with the rotation axis of the spindle. +To do so, two measuring probes are used as shown in Figure \ref{fig:test_id31_align_top_sphere_comparators}. + +To not damage the sensitive sphere surface, the probes are instead positioned on the cylinder on which the sphere is mounted. +First, the probes are fixed to the bottom (fixed) cylinder to align the first sphere with the spindle axis. +Then, the probes are fixed to the top (adjustable) cylinder, and the same alignment is performed. + +With this setup, the alignment accuracy of both spheres with the spindle axis is expected to around \(10\,\mu m\). +The accuracy is probably limited due to the poor coaxiality between the cylinders and the spheres. +However, this first alignment should permit to position the two sphere within the acceptance of the interferometers. + +\subsection{Tip-Tilt adjustment of the interferometers} +\label{ssec:test_id31_metrology_alignment} + +The short-stroke metrology system is placed on top of the main granite using a gantry made of granite blocs (Figure \ref{fig:test_id31_short_stroke_metrology_overview}). +Granite is used to have good vibration and thermal stability. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1,width=0.8\linewidth]{figs/test_id31_short_stroke_metrology_overview.jpg} +\caption{\label{fig:test_id31_short_stroke_metrology_overview}Granite gantry used to fix the short-stroke metrology system} +\end{figure} + +The interferometer beams need to be position with respect to the two reference spheres as close as possible to the ideal case shown in Figure \ref{fig:test_id31_metrology_kinematics}. +This means that their positions and angles needs to be well adjusted with respect to the two spheres. +First, the vertical position of the spheres is adjusted using the micro-hexapod to match the height of the interferometers. +Then, the horizontal position of the gantry is adjusted such that the coupling efficiency (i.e. the intensity of the light reflected back in the fiber) of the top interferometer is maximized. +This is equivalent as to optimize the perpendicularity between the interferometer beam and the sphere surface (i.e. the concentricity between the top beam and the sphere center). + +The lateral sensor heads (i.e. all except the top one) are each fixed to a custom tip-tilt adjustment mechanism. +This allow to individually orient them such that they all point to the spheres' center (i.e. perpendicular to the sphere surface). +This is done by maximizing the coupling efficiency of each interferometer. + +After the alignment procedure, the top interferometer should coincide with with spindle axis, and the lateral interferometers should all be in the horizontal plane and intersect the spheres' center. + +\subsection{Fine Alignment of reference spheres using interferometers} +\label{ssec:test_id31_metrology_sphere_fine_alignment} + +Thanks to the first alignment of the two reference spheres with the spindle axis (Section \ref{ssec:test_id31_metrology_sphere_rought_alignment}) and to the fine adjustment of the interferometers orientations (Section \ref{ssec:test_id31_metrology_alignment}), the spindle can perform complete rotations while still having interference for all five interferometers. +This metrology can therefore be used to better align the axis defined by the two spheres' center with the spindle axis. + +The alignment process is made by few iterations. +First, the spindle is scanned and the alignment errors are recorded. +From the errors, the motion of the micro-hexapod to better align the spheres with the spindle axis is computed and the micro-hexapod is positioned accordingly. +Then, the spindle is scanned again, and the new alignment errors are recorded. + +This iterative process is first performed for angular errors (Figure \ref{fig:test_id31_metrology_align_rx_ry}) and then for lateral errors (Figure \ref{fig:test_id31_metrology_align_dx_dy}). +The remaining errors after alignment is in the order of \(\pm5\,\mu\text{rad}\) in \(R_x\) and \(R_y\) orientations, \(\pm 1\,\mu m\) in \(D_x\) and \(D_y\) directions and less than \(0.1\,\mu m\) vertically. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_metrology_align_rx_ry.png} +\end{center} +\subcaption{\label{fig:test_id31_metrology_align_rx_ry}Angular alignment} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_metrology_align_dx_dy.png} +\end{center} +\subcaption{\label{fig:test_id31_metrology_align_dx_dy}Lateral alignment} +\end{subfigure} +\caption{\label{fig:test_id31_metrology_align}Measured angular \subref{fig:test_id31_metrology_align_rx_ry} and lateral \subref{fig:test_id31_metrology_align_dx_dy} errors during a full spindle rotation. Between two rotations, the micro-hexapod is adjusted to better align the two spheres with the rotation axis.} +\end{figure} + +\subsection{Estimated measurement volume} +\label{ssec:test_id31_metrology_acceptance} + +Because the interferometers are pointing to spheres and not flat surfaces, the lateral acceptance is limited. +In order to estimate the metrology acceptance, the micro-hexapod is used to perform three accurate scans of \(\pm 1\,mm\), respectively along the \(x\), \(y\) and \(z\) axes. +During these scans, the 5 interferometers are recorded individually, and the ranges in which each interferometer has enough coupling efficiency to be able to measure the displacement are estimated. +Results are summarized in Table \ref{tab:test_id31_metrology_acceptance}. +The obtained lateral acceptance for pure displacements in any direction is estimated to be around \(+/-0.5\,mm\), which is enough for the current application as it is well above the micro-station errors to be actively corrected by the NASS. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.45\linewidth}{Xccc} +\toprule + & \(D_x\) & \(D_y\) & \(D_z\)\\ +\midrule +\(d_1\) (y) & \(1.0\,mm\) & \(>2\,mm\) & \(1.35\,mm\)\\ +\(d_2\) (y) & \(0.8\,mm\) & \(>2\,mm\) & \(1.01\,mm\)\\ +\(d_3\) (x) & \(>2\,mm\) & \(1.06\,mm\) & \(1.38\,mm\)\\ +\(d_4\) (x) & \(>2\,mm\) & \(0.99\,mm\) & \(0.94\,mm\)\\ +\(d_5\) (z) & \(1.33\, mm\) & \(1.06\,mm\) & \(>2\,mm\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_id31_metrology_acceptance}Estimated measurement range for each interferometer, and for three different directions.} + +\end{table} + +\subsection{Estimated measurement errors} +\label{ssec:test_id31_metrology_errors} + +When using the NASS, the accuracy of the sample's positioning is determined by the accuracy of the external metrology. +However, the validation of the nano-hexapod, the associated instrumentation and the control architecture is independent of the accuracy of the metrology system. +Only the bandwidth and noise characteristics of the external metrology are important. +Yet, some elements effecting the accuracy of the metrology are discussed here. + +First, the ``metrology kinematics'' (discussed in Section \ref{ssec:test_id31_metrology_kinematics}) is only approximate (i.e. valid for very small displacements). +This can be easily seen when performing lateral \([D_x,\,D_y]\) scans using the micro-hexapod while recording the vertical interferometer (Figure \ref{fig:test_id31_xy_map_sphere}). +As the interferometer is pointing to a sphere and not to a plane, lateral motion of the sphere is seen as a vertical motion by the top interferometer. + +Then, the reference spheres have some deviations with respect to an ideal sphere \footnote{The roundness of the spheres is specified at \(50\,nm\).}. +They are initially meant to be used with capacitive sensors which are integrating the shape errors over large surfaces. +When using interferometers, the size of the ``light spot'' on the sphere surface is a circle with a diameter approximately equal to \(50\,\mu m\), and therefore the measurement is more sensitive to shape errors with small features. + +As the light from the interferometer is travelling through air (as opposed to being in vacuum), the measured distance is sensitive to any variation in the refractive index of the air. +Therefore, any variation of air temperature, pressure or humidity will induce measurement errors. +For instance, for a measurement length of \(40\,mm\), a temperature variation of \(0.1\,{}^oC\) (which is typical for the ID31 experimental hutch) induces an errors in the distance measurement of \(\approx 4\,nm\). + +Interferometers are also affected by noise \cite{watchi18_review_compac_inter}. +The effect of the noise on the translation and rotation measurements is estimated in Figure \ref{fig:test_id31_interf_noise}. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_xy_map_sphere.png} +\end{center} +\subcaption{\label{fig:test_id31_xy_map_sphere}Z measurement during an XY mapping} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_interf_noise.png} +\end{center} +\subcaption{\label{fig:test_id31_interf_noise}Interferometer noise} +\end{subfigure} +\caption{\label{fig:test_id31_metrology_errors}Estimated measurement errors of the metrology. Cross-coupling between lateral motion and vertical measurement is shown in \subref{fig:test_id31_xy_map_sphere}. Effect of interferometer noise on the measured translations and rotations is shown in \subref{fig:test_id31_interf_noise}.} +\end{figure} + +\subsection{Open Loop Plant} +\label{sec:test_id31_open_loop_plant} +The NASS plant is schematically shown in Figure \ref{fig:test_id31_block_schematic_plant}. +The input \(\bm{u} = [u_1,\ u_2,\ u_3,\ u_4,\ u_5,\ u_6]\) is the command signal and corresponds to the voltages generated for each piezoelectric actuator. +After amplification, the voltages across the piezoelectric stack actuators are \(\bm{V}_a = [V_{a1},\ V_{a2},\ V_{a3},\ V_{a4},\ V_{a5},\ V_{a6}]\). + +From the setpoint of micro-station stages (\(r_{D_y}\) for the translation stage, \(r_{R_y}\) for the tilt stage and \(r_{R_z}\) for the spindle), the reference pose of the sample \(\bm{r}_{\mathcal{X}}\) is computed using the micro-station's kinematics. +The sample's position \(\bm{y}_\mathcal{X} = [D_x,\,D_y,\,D_z,\,R_x,\,R_y,\,R_z]\) is measured using multiple sensors. +First, the five interferometers \(\bm{d} = [d_{1},\ d_{2},\ d_{3},\ d_{4},\ d_{5}]\) are used to measure the \([D_x,\,D_y,\,D_z,\,R_x,\,R_y]\) degrees of freedom of the sample. +The \(R_z\) position of the sample is computed from the spindle's setpoint \(r_{R_z}\) and from the 6 encoders \(\bm{d}_e\) integrated in the nano-hexapod. + +The sample's position \(\bm{y}_{\mathcal{X}}\) is compared to the reference position \(\bm{r}_{\mathcal{X}}\) to compute the position error in the frame of the (rotating) nano-hexapod \(\bm{\epsilon\mathcal{X}} = [\epsilon_{D_x},\,\epsilon_{D_y},\,\epsilon_{D_z},\,\epsilon_{R_x},\,\epsilon_{R_y},\,\epsilon_{R_z}]\). +Finally, the Jacobian matrix \(\bm{J}\) of the nano-hexapod is used to map \(\bm{\epsilon\mathcal{X}}\) in the frame of the nano-hexapod struts \(\bm{\epsilon\mathcal{L}} = [\epsilon_{\mathcal{L}_1},\,\epsilon_{\mathcal{L}_2},\,\epsilon_{\mathcal{L}_3},\,\epsilon_{\mathcal{L}_4},\,\epsilon_{\mathcal{L}_5},\,\epsilon_{\mathcal{L}_6}]\). + +Voltages generated by the force sensor piezoelectric stacks \(\bm{V}_s = [V_{s1},\ V_{s2},\ V_{s3},\ V_{s4},\ V_{s5},\ V_{s6}]\) will be used for active damping. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_block_schematic_plant.png} +\caption{\label{fig:test_id31_block_schematic_plant}Schematic of the NASS plant} +\end{figure} +\subsection{Open-Loop Plant Identification} +\label{ssec:test_id31_open_loop_plant_first_id} + +The plant dynamics is first identified for a fixed spindle angle (at \(0\,\text{deg}\)) and without any payload. +The model dynamics is also identified in the same conditions. + +A first comparison between the model and the measured dynamics is done in Figure \ref{fig:test_id31_first_id}. +A good match can be observed for the diagonal dynamics (except the high frequency modes which are not modeled). +However, the coupling for the transfer function from command signals \(\bm{u}\) to the estimated strut motion from the external metrology \(\bm{\epsilon\mathcal{L}}\) is larger than expected (Figure \ref{fig:test_id31_first_id_int}). + +The experimental time delay estimated from the FRF (Figure \ref{fig:test_id31_first_id_int}) is larger than expected. +After investigation, it was found that the additional delay was due to a digital processing unit\footnote{The ``PEPU'' \cite{hino18_posit_encod_proces_unit} was used for digital protocol conversion between the interferometers and the Speedgoat.} that was used to get the interferometers' signals in the Speedgoat. +This issue was later solved. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_first_id_int.png} +\end{center} +\subcaption{\label{fig:test_id31_first_id_int}External Metrology} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_first_id_iff.png} +\end{center} +\subcaption{\label{fig:test_id31_first_id_iff}Force Sensors} +\end{subfigure} +\caption{\label{fig:test_id31_first_id}Comparison between the measured dynamics and the multi-body model dynamics. Both for the external metrology \subref{fig:test_id31_first_id_int} and force sensors \subref{fig:test_id31_first_id_iff}. Direct terms are displayed with solid lines while off-diagonal (i.e. coupling) terms are shown with shaded lines.} +\end{figure} + +\subsection{Better Angular Alignment} +\label{ssec:test_id31_open_loop_plant_rz_alignment} + +One possible explanation of the increased coupling observed in Figure \ref{fig:test_id31_first_id_int} is the poor alignment between the external metrology axes (i.e. the interferometer supports) and the nano-hexapod axes. +To estimate this alignment, a decentralized low-bandwidth feedback controller based on the nano-hexapod encoders was implemented. +This allowed to perform two straight movements of the nano-hexapod along its \(x\) and \(y\) axes. +During these two movements, the external metrology measurement was recorded and are shown in Figure \ref{fig:test_id31_Rz_align_error_and_correct}. +It was found that there is a misalignment of 2.7 degrees (rotation along the vertical axis) between the interferometer axes and nano-hexapod axes. +This was corrected by adding an offset to the spindle angle. +After alignment, the same movement was performed using the nano-hexapod while recording the signal of the external metrology. +Results shown in Figure \ref{fig:test_id31_Rz_align_correct} are indeed indicating much better alignment. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_Rz_align_error.png} +\end{center} +\subcaption{\label{fig:test_id31_Rz_align_error}Before alignment} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_Rz_align_correct.png} +\end{center} +\subcaption{\label{fig:test_id31_Rz_align_correct}After alignment} +\end{subfigure} +\caption{\label{fig:test_id31_Rz_align_error_and_correct}Measurement of the Nano-Hexapod axes in the frame of the external metrology. Before alignment \subref{fig:test_id31_Rz_align_error} and after alignment \subref{fig:test_id31_Rz_align_correct}.} +\end{figure} + +The plant dynamics was identified again after the fine alignment and is compared with the model dynamics in Figure \ref{fig:test_id31_first_id_int_better_rz_align}. +Compared to the initial identification shown in Figure \ref{fig:test_id31_first_id_int}, the obtained coupling has decreased and is now close to the coupling obtained with the multi-body model. +At low frequency (below \(10\,\text{Hz}\)) all the off-diagonal elements have an amplitude \(\approx 100\) times lower compared to the diagonal elements, indicating that a low bandwidth feedback controller can be implemented in a decentralized way (i.e. \(6\) SISO controllers). +Between \(650\,\text{Hz}\) and \(1000\,\text{Hz}\), several modes can be observed that are due to flexible modes of the top platform and modes of the two spheres adjustment mechanism. +The flexible modes of the top platform can be passively damped while the modes of the two reference spheres should not be present in the final application. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_first_id_int_better_rz_align.png} +\caption{\label{fig:test_id31_first_id_int_better_rz_align}Decrease of the coupling with better Rz alignment} +\end{figure} + +\subsection{Effect of Payload Mass} +\label{ssec:test_id31_open_loop_plant_mass} + +In order to see how the system dynamics changes with the payload, open-loop identification was performed for four payload conditions that are shown in Figure \ref{fig:test_id31_picture_masses}. +The obtained direct terms are compared with the model dynamics in Figure \ref{fig:test_nhexa_comp_simscape_diag_masses}. +It is shown that the model dynamics well predicts the measured dynamics for all payload conditions. +Therefore the model can be used for model-based control is necessary. + +It is interesting to note that the anti-resonances in the force sensor plant are now appearing as minimum-phase, as the model predicts (Figure \ref{fig:test_id31_comp_simscape_iff_diag_masses}). + +\begin{figure}[htbp] +\begin{subfigure}{0.24\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/test_id31_picture_mass_m0.jpg} +\end{center} +\subcaption{\label{fig:test_id31_picture_mass_m0}$m=0\,\text{kg}$} +\end{subfigure} +\begin{subfigure}{0.24\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/test_id31_picture_mass_m1.jpg} +\end{center} +\subcaption{\label{fig:test_id31_picture_mass_m1}$m=13\,\text{kg}$} +\end{subfigure} +\begin{subfigure}{0.24\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/test_id31_picture_mass_m2.jpg} +\end{center} +\subcaption{\label{fig:test_id31_picture_mass_m2}$m=26\,\text{kg}$} +\end{subfigure} +\begin{subfigure}{0.24\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.99\linewidth]{figs/test_id31_picture_mass_m3.jpg} +\end{center} +\subcaption{\label{fig:test_id31_picture_mass_m3}$m=39\,\text{kg}$} +\end{subfigure} +\caption{\label{fig:test_id31_picture_masses}The four tested payload conditions. \subref{fig:test_id31_picture_mass_m0} without payload. \subref{fig:test_id31_picture_mass_m1} with \(13\,\text{kg}\) payload. \subref{fig:test_id31_picture_mass_m2} with \(26\,\text{kg}\) payload. \subref{fig:test_id31_picture_mass_m3} with \(39\,\text{kg}\) payload.} +\end{figure} + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_comp_simscape_int_diag_masses.png} +\end{center} +\subcaption{\label{fig:test_id31_comp_simscape_int_diag_masses}from $u$ to $\epsilon\mathcal{L}$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_comp_simscape_iff_diag_masses.png} +\end{center} +\subcaption{\label{fig:test_id31_comp_simscape_iff_diag_masses}from $u$ to $V_s$} +\end{subfigure} +\caption{\label{fig:test_id31_comp_simscape_diag_masses}Comparison of the diagonal elements (i.e. ``direct'' terms) of the measured FRF matrix and the dynamics identified from the multi-body model. Both for the dynamics from \(u\) to \(\epsilon\mathcal{L}\) \subref{fig:test_id31_comp_simscape_int_diag_masses} and from \(u\) to \(V_s\) \subref{fig:test_id31_comp_simscape_iff_diag_masses}} +\end{figure} + +\subsection{Effect of Spindle Rotation} +\label{ssec:test_id31_open_loop_plant_rotation} + +To verify that all the kinematics in Figure \ref{fig:test_id31_block_schematic_plant} are correct and to check whether the system dynamics is affected by Spindle rotation of not, three identification experiments were performed: no spindle rotation, spindle rotation at \(36\,\text{deg}/s\) and at \(180\,\text{deg}/s\). + +The comparison of the obtained dynamics from command signal \(u\) to estimated strut error \(\epsilon\mathcal{L}\) is done in Figure \ref{fig:test_id31_effect_rotation}. +Both direct terms (Figure \ref{fig:test_id31_effect_rotation_direct}) and coupling terms (Figure \ref{fig:test_id31_effect_rotation_coupling}) are unaffected by the rotation. +The same can be observed for the dynamics from the command signal to the encoders and to the force sensors. +This confirms that the rotation has no significant effect on the plant dynamics. +This also indicates that the metrology kinematics is correct and is working in real time. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_effect_rotation_direct.png} +\end{center} +\subcaption{\label{fig:test_id31_effect_rotation_direct}Direct terms} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_effect_rotation_coupling.png} +\end{center} +\subcaption{\label{fig:test_id31_effect_rotation_coupling}Coupling terms} +\end{subfigure} +\caption{\label{fig:test_id31_effect_rotation}Effect of the spindle rotation on the plant dynamics from \(u\) to \(\epsilon\mathcal{L}\). Three rotational velocities are tested (\(0\,\text{deg}/s\), \(36\,\text{deg}/s\) and \(180\,\text{deg}/s\)). Both direct terms \subref{fig:test_id31_effect_rotation_direct} and coupling terms \subref{fig:test_id31_effect_rotation_coupling} are displayed.} +\end{figure} + +\subsection*{Conclusion} +The identified frequency response functions from command signals \(\bm{u}\) to the force sensors \(\bm{V}_s\) and to the estimated strut errors \(\bm{\epsilon\mathcal{L}}\) are well matching the developed multi-body model. +Effect of payload mass is shown to be well predicted by the model, which can be useful if robust model based control is to be used. +The spindle rotation has no visible effect on the measured dynamics, indicating that controllers should be robust to the spindle rotation. + +\subsection{Decentralized Integral Force Feedback} +\label{sec:test_id31_iff} +The HAC-LAC strategy that was previously developed and validated using the multi-body model is now experimentally implemented. + +In this section, the low authority control part is first validated. +It consisted of a decentralized Integral Force Feedback controller \(\bm{K}_{\text{IFF}}\), with all the diagonal terms being equal \eqref{eq:test_id31_Kiff}. + +\begin{equation}\label{eq:test_id31_iff_diagonal} +\bm{K}_{\text{IFF}} = K_{\text{IFF}} \cdot \bm{I}_6 = \begin{bmatrix} +K_{\text{IFF}} & & 0 \\ +& \ddots & \\ +0 & & K_{\text{IFF}} +\end{bmatrix} +\end{equation} + +And it is implemented as shown in the block diagram of Figure \ref{fig:test_id31_iff_block_diagram}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_iff_schematic.png} +\caption{\label{fig:test_id31_iff_block_diagram}Block diagram of the implemented decentralized IFF controller. The controller \(\bm{K}_{\text{IFF}}\) is a diagonal controller with the same elements on every diagonal term \(K_{\text{IFF}}\).} +\end{figure} +\subsection{IFF Plant} +\label{ssec:test_id31_iff_plant} + +As the multi-body model is going to be used to evaluate the stability of the IFF controller and to optimize the achievable damping, it is first checked whether this model accurately represents the system dynamics. + +In the previous section (Figure \ref{fig:test_id31_comp_simscape_iff_diag_masses}), it was shown that the model well captures the dynamics from each actuator to its collocated force sensor, and that for all considered payloads. +Nevertheless, it is also important to well model the coupling in the system. +To very that, instead of comparing the 36 elements of the \(6 \times 6\) frequency response matrix from \(\bm{u}\) to \(\bm{V_s}\), only 6 elements are compared in Figure \ref{fig:test_id31_comp_simscape_Vs}. +Similar results are obtained for all other 30 elements and for the different tested payload conditions. +This confirms that the multi-body model can be used to tune the IFF controller. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_comp_simscape_Vs.png} +\caption{\label{fig:test_id31_comp_simscape_Vs}Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal \(u_1\) to the six force sensor voltages \(V_{s1}\) to \(V_{s6}\)} +\end{figure} + +\subsection{IFF Controller} +\label{ssec:test_id31_iff_controller} + +A decentralized IFF controller was designed such that it adds damping to the suspension modes of the nano-hexapod for all considered payloads. +The frequency of the suspension modes are ranging from \(\approx 30\,\text{Hz}\) to \(\approx 250\,\text{Hz}\) (Figure \ref{fig:test_id31_comp_simscape_iff_diag_masses}), and therefore the IFF controller should provide integral action in this frequency range. +A second order high pass filter (cut-off frequency of \(10\,\text{Hz}\)) was added to limit the low frequency gain \eqref{eq:test_id31_Kiff}. + +\begin{equation}\label{eq:test_id31_Kiff} +K_{\text{IFF}} = g_0 \cdot \underbrace{\frac{1}{s}}_{\text{int}} \cdot \underbrace{\frac{s^2/\omega_z^2}{s^2/\omega_z^2 + 2\xi_z s /\omega_z + 1}}_{\text{2nd order LPF}},\quad \left(g_0 = -100,\ \omega_z = 2\pi10\,\text{rad/s},\ \xi_z = 0.7\right) +\end{equation} + +The bode plot of the decentralized IFF controller is shown in Figure \ref{fig:test_id31_Kiff_bode_plot} and the ``decentralized loop-gains'' for all considered payload masses are shown in Figure \ref{fig:test_id31_Kiff_loop_gain}. +It can be seen that the loop-gain is larger than \(1\) around suspension modes indicating that some damping should be added to the suspension modes. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_Kiff_bode_plot.png} +\end{center} +\subcaption{\label{fig:test_id31_Kiff_bode_plot}Bode plot of $K_{\text{IFF}}$} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_Kiff_loop_gain.png} +\end{center} +\subcaption{\label{fig:test_id31_Kiff_loop_gain}Decentralized Loop gains} +\end{subfigure} +\caption{\label{fig:test_id31_Kiff}Bode plot of the decentralized IFF controller \subref{fig:test_id31_Kiff_bode_plot}. The decentralized controller \(K_{\text{IFF}}\) multiplied by the identified dynamics from \(u_1\) to \(V_{s1}\) for all payloads are shown in \subref{fig:test_id31_Kiff_loop_gain}} +\end{figure} + +To estimate the added damping, a root-locus plot is computed using the multi-body model (Figure \ref{fig:test_id31_iff_root_locus}). +It can be seen that for all considered payloads, the poles are bounded to the ``left-half plane'' indicating that the decentralized IFF is robust. +The closed-loop poles for the chosen value of the gain are displayed by black crosses. +It can be seen that while damping can be added for all payloads (as compared to the open-loop case), the optimal value of the gain is different for each payload. +For low payload masses, a higher value of the IFF controller gain could lead to better damping. +However, in this study, it was chosen to implement a fix (i.e. non-adaptive) decentralized IFF controller. + +\begin{figure}[htbp] +\begin{subfigure}{0.24\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_iff_root_locus_m0.png} +\end{center} +\subcaption{\label{fig:test_id31_iff_root_locus_m0}$m = 0\,\text{kg}$} +\end{subfigure} +\begin{subfigure}{0.24\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_iff_root_locus_m1.png} +\end{center} +\subcaption{\label{fig:test_id31_iff_root_locus_m1}$m = 13\,\text{kg}$} +\end{subfigure} +\begin{subfigure}{0.24\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_iff_root_locus_m2.png} +\end{center} +\subcaption{\label{fig:test_id31_iff_root_locus_m2}$m = 26\,\text{kg}$} +\end{subfigure} +\begin{subfigure}{0.24\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.9\linewidth]{figs/test_id31_iff_root_locus_m3.png} +\end{center} +\subcaption{\label{fig:test_id31_iff_root_locus_m3}$m = 39\,\text{kg}$} +\end{subfigure} +\caption{\label{fig:test_id31_iff_root_locus}Root Locus plots for the designed decentralized IFF controller and using the multy-body model. Black crosses indicate the closed-loop poles for the choosen value of the gain.} +\end{figure} + +\subsection{Damped Plant} +\label{ssec:test_id31_iff_perf} + +As the model is accurately modelling the system dynamics, it can be used to estimate the damped plant, i.e. the transfer functions from \(\bm{u}^\prime\) to \(\bm{\mathcal{L}}\). +The obtained damped plants are compared to the open-loop plants in Figure \ref{fig:test_id31_comp_ol_iff_plant_model}. +The peak amplitudes corresponding to the suspension modes are approximately reduced by a factor \(10\) for all considered payloads, showing the effectiveness of the decentralized IFF control strategy. + +In order to experimentally validate the Decentralized IFF controller, it was implemented and the damped plants (i.e. the transfer function from \(\bm{u}^\prime\) to \(\bm{\epsilon\mathcal{L}}\)) were identified for all payload conditions. +The obtained frequency response functions are compared with the model in Figure \ref{fig:test_id31_hac_plant_effect_mass} verifying the good correlation between the predicted damped plant using the multi-body model and the experimental results. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_comp_ol_iff_plant_model.png} +\end{center} +\subcaption{\label{fig:test_id31_comp_ol_iff_plant_model}Effect of IFF on the plant} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_hac_plant_effect_mass.png} +\end{center} +\subcaption{\label{fig:test_id31_hac_plant_effect_mass}Comparison of model and experimental results} +\end{subfigure} +\caption{\label{fig:test_id31_hac_plant_effect_mass_comp_model}Comparison of the open-loop plants and the damped plant with Decentralized IFF, estimated from the multi-body model \subref{fig:test_id31_comp_ol_iff_plant_model}. Comparison of the measured damped plants and modeled plants for all considered payloads \subref{fig:test_id31_hac_plant_effect_mass}. Only ``direct'' terms (\(\epsilon\mathcal{L}_i/u_i^\prime\)) are displayed for simplificty} +\end{figure} + +\subsection*{Conclusion} +The implementation of a decentralized Integral Force Feedback controller has been successfully demonstrated. +Using the multi-body model, the controller was designed and optimized to ensure stability across all payload conditions while providing significant damping of suspension modes. +The experimental results validated the model predictions, showing a reduction of peak amplitudes by approximately a factor of 10 across the full payload range (0-39 kg). +While higher gains could potentially achieve better damping performance for lighter payloads, the chosen fixed-gain configuration represents a robust compromise that maintains stability and performance across all operating conditions. +The good correlation between the modeled and measured damped plants confirms the effectiveness of using the multi-body model for both controller design and performance prediction. + +\subsection{High Authority Control in the frame of the struts} +\label{sec:test_id31_hac} +In this section, a High-Authority-Controller is developed to actively stabilize the sample's position. +The corresponding control architecture is shown in Figure \ref{fig:test_id31_iff_hac_schematic}. + +As the diagonal terms of the damped plants were found to be all equal (thanks to the system's symmetry and manufacturing and mounting uniformity, see Figure \ref{fig:test_id31_hac_plant_effect_mass}), a diagonal high authority controller \(\bm{K}_{\text{HAC}}\) is implemented with all diagonal terms being equal \eqref{eq:eq:test_id31_hac_diagonal}. + +\begin{equation}\label{eq:eq:test_id31_hac_diagonal} +\bm{K}_{\text{HAC}} = K_{\text{HAC}} \cdot \bm{I}_6 = \begin{bmatrix} +K_{\text{HAC}} & & 0 \\ +& \ddots & \\ +0 & & K_{\text{HAC}} +\end{bmatrix} +\end{equation} + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_iff_hac_schematic.png} +\caption{\label{fig:test_id31_iff_hac_schematic}Block diagram of the implemented HAC-IFF controllers. The controller \(\bm{K}_{\text{HAC}}\) is a diagonal controller with the same elements on every diagonal term \(K_{\text{HAC}}\).} +\end{figure} +\subsection{Damped Plant} +\label{ssec:test_id31_iff_hac_plant} + +To verify whether the multi body model accurately represents the measured damped dynamics, both direct terms and coupling terms corresponding to the first actuator are compared in Figure \ref{fig:test_id31_comp_simscape_hac}. +Considering the complexity of the system's dynamics, the model can be considered to well represent the system's dynamics, and can therefore be used to tune the feedback controller and evaluate its performances. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_comp_simscape_hac.png} +\caption{\label{fig:test_id31_comp_simscape_hac}Comparison of the measured (in blue) and modeled (in red) frequency transfer functions from the first control signal (\(u_1^\prime\)) of the damped plant to the estimated errors (\(\epsilon_{\mathcal{L}_i}\)) in the frame of the six struts by the external metrology} +\end{figure} + +The challenge here is to tune an high authority controller such that it is robust to the change of dynamics due to different payloads being used. +Doing that without using the HAC-LAC strategy would require to design a controller which gives good performances for all the undamped dynamics (blue curves in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}), which is a very complex control problem. +With the HAC-LAC strategy, the designed controller instead has to be be robust to all the damped dynamics (red curves in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants}), which is easier from a control perspective. +This is one of the key benefit of using the HAC-LAC strategy. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_comp_all_undamped_damped_plants.png} +\caption{\label{fig:test_id31_comp_all_undamped_damped_plants}Comparison of the (six) direct terms for all (four) payload conditions in the undamped case (in blue) and the damped case (i.e. with the decentralized IFF being implemented, in red).} +\end{figure} + +\subsection{Interaction Analysis} +\label{sec:test_id31_hac_interaction_analysis} + +As the control strategy here is to apply a diagonal control in the frame of the struts, it is important to determine the frequency at which multivariable effects become significant, as this represents a critical limitation of the control approach. +To conduct this interaction analysis, the \acrfull{rga} \(\bm{\Lambda_G}\) is first computed using \eqref{eq:test_id31_rga} for the plant dynamics identified with the multiple payload masses. + +\begin{equation}\label{eq:test_id31_rga} +\bm{\Lambda_G}(\omega) = \bm{G}(j\omega) \star \left(\bm{G}(j\omega)^{-1}\right)^{T}, \quad (\star \text{ means element wise multiplication}) +\end{equation} + +Then, \acrshort{rga} numbers are computed using \eqref{eq:test_id31_rga_number} and are use as a metric for interaction \cite[chapt. 3.4]{skogestad07_multiv_feedb_contr}. + +\begin{equation}\label{eq:test_id31_rga_number} +\text{RGA number}(\omega) = \|\bm{\Lambda_G}(\omega) - \bm{I}\|_{\text{sum}} +\end{equation} + +The obtained \acrshort{rga} numbers are compared in Figure \ref{fig:test_id31_hac_rga_number}. +The results indicates that higher payload masses increase the coupling when implementing control in the strut reference frame (i.e., decentralized approach). +This indicates that it is progressively more challenging to achieve high bandwidth performance as the payload mass increases. +This behavior can be attributed to the fundamental approach of implementing control in the frame of the struts. +Indeed, above the suspension modes of the nano-hexapod, the induced motion by the piezoelectric actuators is no longer dictated by the kinematics but rather by the inertia of the different parts. +This design choice, while beneficial for system simplicity, introduces inherent limitations in the system's ability to handle larger masses at high frequency. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_hac_rga_number.png} +\caption{\label{fig:test_id31_hac_rga_number}RGA-number for the damped plants - Comparison of all the payload conditions} +\end{figure} + +\subsection{Robust Controller Design} +\label{ssec:test_id31_iff_hac_controller} + +A diagonal controller was designed to be robust to change of payloads, which means that every damped plants shown in Figure \ref{fig:test_id31_comp_all_undamped_damped_plants} should be considered during the controller design. +For this controller design, a crossover frequency of \(5\,\text{Hz}\) was chosen to limit multivariable effects as explain in Section \ref{sec:test_id31_hac_interaction_analysis}. +One integrator is added to increase the low frequency gain, a lead is added around \(5\,\text{Hz}\) to increase the stability margins and a first order low pass filter with a cut-off frequency of \(30\,\text{Hz}\) is added to improve the robustness to dynamical uncertainty at high frequency. +The controller transfer function is shown in \eqref{eq:test_id31_robust_hac}. + +\begin{equation}\label{eq:test_id31_robust_hac} +K_{\text{HAC}}(s) = g_0 \cdot \underbrace{\frac{\omega_c}{s}}_{\text{int}} \cdot \underbrace{\frac{1}{\sqrt{\alpha}}\frac{1 + \frac{s}{\omega_c/\sqrt{\alpha}}}{1 + \frac{s}{\omega_c\sqrt{\alpha}}}}_{\text{lead}} \cdot \underbrace{\frac{1}{1 + \frac{s}{\omega_0}}}_{\text{LPF}}, \quad \left( \omega_c = 2\pi5\,\text{rad/s},\ \alpha = 2,\ \omega_0 = 2\pi30\,\text{rad/s} \right) +\end{equation} + +The obtained ``decentralized'' loop-gains (i.e. the diagonal element of the controller times the diagonal terms of the plant) are shown in Figure \ref{fig:test_id31_hac_loop_gain}. +Closed-loop stability is verified by computing the characteristic Loci (Figure \ref{fig:test_id31_hac_characteristic_loci}). +However, small stability margins are observed for the highest mass, indicating that some multivariable effects are in play. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_hac_loop_gain.png} +\end{center} +\subcaption{\label{fig:test_id31_hac_loop_gain}Loop Gains} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,width=0.95\linewidth]{figs/test_id31_hac_characteristic_loci.png} +\end{center} +\subcaption{\label{fig:test_id31_hac_characteristic_loci}Characteristic Loci} +\end{subfigure} +\caption{\label{fig:test_id31_hac_loop_gain_loci}Robust High Authority Controller. ``Decentralized loop-gains'' are shown in \subref{fig:test_id31_hac_loop_gain} and characteristic loci are shown in \subref{fig:test_id31_hac_characteristic_loci}} +\end{figure} + +\subsection{Performance estimation with simulation of Tomography scans} +\label{ssec:test_id31_iff_hac_perf} + +To estimate the performances that can be expected with this HAC-LAC architecture and the designed controller, simulations of tomography experiments were performed\footnote{Note that the eccentricity of the ``point of interest'' with respect to the Spindle rotation axis has been tuned based on measurements.}. +The rotational velocity was set to \(180\,\text{deg/s}\), and no payload was added on top of the nano-hexapod. +An open-loop simulation and a closed-loop simulation were performed and compared in Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim}. +The obtained closed-loop positioning accuracy was found to comply with the requirements as it succeeded to keep the point of interest on the beam (Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz}). + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy.png} +\end{center} +\subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy}XY plane} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz.png} +\end{center} +\subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz}YZ plane} +\end{subfigure} +\caption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim}Position error of the sample in the XY \subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_xy} and YZ \subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim_yz} planes during a simulation of a tomography experiment at \(180\,\text{deg/s}\). No payload is placed on top of the nano-hexapod.} +\end{figure} + +\subsection{Robustness estimation with simulation of Tomography scans} +\label{ssec:test_id31_iff_hac_robustness} + +To verify the robustness to the change of payload mass, four simulations of tomography experiments were performed with payloads as shown Figure \ref{fig:test_id31_picture_masses} (i.e. \(0\,kg\), \(13\,kg\), \(26\,kg\) and \(39\,kg\)). +This time, the rotational velocity was set at \(6\,\text{deg/s}\), as it is the typical rotational velocity for heavy samples. + +The closed-loop systems were stable for all payload conditions, indicating good control robustness. +However, the positioning errors are getting worse as the payload mass increases, especially in the lateral \(D_y\) direction, as shown in Figure \ref{fig:test_id31_hac_tomography_Wz36_simulation}. +Yet it was decided that this controller will be tested experimentally, and improved if necessary. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_hac_tomography_Wz36_simulation.png} +\caption{\label{fig:test_id31_hac_tomography_Wz36_simulation}Positioning errors in the Y-Z plane during tomography experiments simulated using the multi-body model (in closed-loop)} +\end{figure} + +\subsection*{Conclusion} +In this section, a High-Authority-Controller was developed to actively stabilize the sample's position. +The multi-body model was first validated by comparing it with measured frequency responses of the damped plant, showing good agreement for both direct terms and coupling terms. +This validation confirmed that the model could be reliably used to tune the feedback controller and evaluate its performances. + +An interaction analysis using the RGA-number was then performed, revealing that higher payload masses lead to increased coupling when implementing control in the strut reference frame. +Based on this analysis, a diagonal controller with a crossover frequency of 5 Hz was designed, incorporating an integrator, a lead compensator, and a first order low-pass filter. + +Finally, simulations of tomography experiments were performed to validate the HAC-LAC architecture. +The closed-loop system remained stable for all tested payload conditions (0 to 39 kg). +With no payload at \(180\,\text{deg/s}\), the NASS successfully kept the sample point of interested on the beam, which fulfills the specifications. +At \(6\,\text{deg/s}\), while positioning errors increased with the payload mass (particularly in the lateral direction), the system maintained stable. +These results demonstrate both the effectiveness and limitations of implementing control in the frame of the struts. + +\subsection{Validation with Scientific experiments} +\label{sec:test_id31_experiments} +In this section, the goal is to evaluate the performances of the NASS and validate its use for typical scientific experiments. +However, the online metrology prototype (presented in Section \ref{sec:test_id31_metrology}) does not allow samples to be placed on top of the nano-hexapod while being illuminated by the x-ray beam. +Nevertheless, in order to fully validate the NASS, typical motion performed during scientific experiments can be mimicked, and the positioning performances can be evaluated. + +Several scientific experiments are here replicated, such as: +\begin{itemize} +\item Tomography scans: continuous rotation of the Spindle along the vertical axis (Section \ref{ssec:test_id31_scans_tomography}) +\item Reflectivity scans: \(R_y\) rotations using the tilt-stage (Section \ref{ssec:test_id31_scans_reflectivity}) +\item Vertical layer scans: \(D_z\) step motion or ramp scans using the nano-hexapod (Section \ref{ssec:test_id31_scans_dz}) +\item Lateral scans: \(D_y\) scans using the \(T_y\) translation stage (Section \ref{ssec:test_id31_scans_dy}) +\item Diffraction Tomography:continuous \(R_z\) rotation using the Spindle and lateral \(D_y\) scans performed at the same time using the translation stage. +This is the experiment with the most stringent requirements (Section \ref{ssec:test_id31_scans_diffraction_tomo}) +\end{itemize} + +Unless explicitly stated, all the closed-loop experiments are performed using the robust (i.e. conservative) high authority controller designed in Section \ref{ssec:test_id31_iff_hac_controller}. + +For each experiment, the obtained performances are compared to the specifications for the most depending case in which nano-focusing optics are used to focus the beam down to \(200\,nm\times 100\,nm\). +In this case, the goal is to keep the sample's point of interested in the beam, and therefore the \(D_y\) and \(D_z\) positioning errors should be less than \(200\,nm\) and \(100\,nm\) peak-to-peak respectively. +The \(R_y\) error should be less than \(1.7\,\mu\text{rad}\) peak-to-peak. +In terms of RMS errors, this corresponds to \(30\,nm\) in \(D_y\), \(15\,nm\) in \(D_z\) and \(250\,\text{nrad}\) in \(R_y\) (a summary of the specifications is given in Table \ref{tab:test_id31_experiments_specifications}). + +Results obtained for all the experiments are summarized and compared to the specifications in Section \ref{ssec:test_id31_scans_conclusion}. + +\begin{table}[htbp] +\centering +\begin{tabularx}{0.45\linewidth}{Xccc} +\toprule + & \(D_y\) & \(D_z\) & \(R_y\)\\ +\midrule +peak 2 peak & 200nm & 100nm & \(1.7\,\mu\text{rad}\)\\ +RMS & 30nm & 15nm & \(250\,\text{nrad}\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_id31_experiments_specifications}Specifications for the Nano-Active-Stabilization-System} + +\end{table} +\subsection{Tomography Scans} +\label{ssec:test_id31_scans_tomography} +\paragraph{Slow Tomography scans} + +First, tomography scans are performed with a rotational velocity of \(6\,\text{deg/s}\) for all considered payload masses (shown in Figure \ref{fig:test_id31_picture_masses}). +Each experimental sequence consisted of two complete spindle rotations: an initial open-loop rotation followed by a closed-loop rotation. +The experimental results for the \(26\,\text{kg}\) payload are presented in Figure \ref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}. + +Due to static deformation of the micro-station stages under payload loading, a significant eccentricity was observed between the point of interest and the spindle rotation axis. +To establish a theoretical lower bound for open-loop errors, an ideal scenario was assumed where the point of interest perfectly aligns with the spindle rotation axis. +This idealized case was simulated by first calculating the eccentricity through circular fitting (represented by the dashed black circle in Figure \ref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}), and then subtracting it from the measured data, as shown in Figure \ref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed}. +While this approach likely underestimates actual open-loop errors, as perfect alignment is practically unattainable, it enables a more balanced comparison with closed-loop performance. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m2_1rpm_robust_hac_iff_fit.png} +\end{center} +\subcaption{\label{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}Errors in $(x,y)$ plane} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed.png} +\end{center} +\subcaption{\label{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed}Removed eccentricity} +\end{subfigure} +\caption{\label{fig:test_id31_tomo_m2_1rpm_robust_hac_iff}Tomography experiment with rotation velocity of \(6\,\text{deg/s}\), and payload mass of 26kg. Errors in the \((x,y)\) plane are shown in \subref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit}. The estimated eccentricity is displayed by the black dashed circle. Errors with subtracted eccentricity are shown in \subref{fig:test_id31_tomo_m2_1rpm_robust_hac_iff_fit_removed}.} +\end{figure} + +After eccentricity compensation for each experiment, the residual motion in the \(Y-Z\) is compared against the minimum beam size, as illustrated in Figure \ref{fig:test_id31_tomo_Wz36_results}. +Results are indicating the NASS succeeds in keeping the sample's point of interests on the beam, except for the highest mass of \(39\,\text{kg}\) for which the lateral motion is a bit too high. +These experimental findings align with the predictions from the tomography simulations presented in Section \ref{ssec:test_id31_iff_hac_robustness}. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_tomo_Wz36_results.png} +\caption{\label{fig:test_id31_tomo_Wz36_results}Measured errors in the \(Y-Z\) plane during tomography experiments at \(6\,\text{deg/s}\) for all considered payloads. In the open-loop case, the effect of eccentricity is removed from the data.} +\end{figure} + +\paragraph{Fast Tomography scans} + +A tomography experiment was then performed with the highest rotational velocity of the Spindle: \(180\,\text{deg/s}\)\footnote{The highest rotational velocity of \(360\,\text{deg/s}\) could not be tested due to an issue in the Spindle's controller.}. +The trajectory of the point of interest during this fast tomography scan is shown in Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp}. +While the experimental results closely mirror the simulation results (Figure \ref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_sim}), the actual performance are slightly lower than predicted. +Nevertheless, even with this robust (conservative) HAC implementation, the system performance approaches the specified requirements. + +\begin{figure}[htbp] +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy.png} +\end{center} +\subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy}XY plane} +\end{subfigure} +\begin{subfigure}{0.49\textwidth} +\begin{center} +\includegraphics[scale=1,scale=0.9]{figs/test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz.png} +\end{center} +\subcaption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz}YZ plane} +\end{subfigure} +\caption{\label{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp}Experimental results of a tomography experiment at 180 deg/s without payload. Position error of the sample is shown in the XY \subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_xy} and YZ \subref{fig:test_id31_tomo_m0_30rpm_robust_hac_iff_exp_yz} planes.} +\end{figure} + +\paragraph{Cumulative Amplitude Spectra} + +A comparative analysis was conducted using three tomography scans at \(180,\text{deg/s}\) to evaluate the effectiveness of the HAC-LAC strategy in reducing positioning errors. +The scans were performed under three conditions: open-loop, with decentralized IFF control, and with the complete HAC-LAC strategy. +For these specific measurements, an enhanced high authority controller was optimized for low payload masses to meet performance requirements. + +Figure \ref{fig:test_id31_hac_cas_cl} presents the cumulative amplitude spectra of the position errors for all three cases. +The results reveal two distinct control contributions: the decentralized IFF effectively attenuates vibrations near the nano-hexapod suspension modes (an achievement not possible with HAC alone), while the high authority controller suppresses low-frequency vibrations primarily arising from Spindle guiding errors. +Notably, the spectral patterns in Figure \ref{fig:test_id31_hac_cas_cl} closely resemble the cumulative amplitude spectra computed in the project's early stages. + +This experiment also illustrates that when needed, performance can be enhanced by designing controllers for specific experimental conditions, rather than relying solely on robust controllers that accommodate all payload ranges. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_cl_dy.png} +\end{center} +\subcaption{\label{fig:test_id31_hac_cas_cl_dy} $D_y$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_cl_dz.png} +\end{center} +\subcaption{\label{fig:test_id31_hac_cas_cl_dz} $D_z$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_hac_cas_cl_ry.png} +\end{center} +\subcaption{\label{fig:test_id31_hac_cas_cl_ry} $R_y$} +\end{subfigure} +\caption{\label{fig:test_id31_hac_cas_cl}Cumulative Amplitude Spectrum for tomography experiments at \(180\,\text{deg}/s\). Open-Loop case, IFF, and HAC-LAC are compared. Specifications are indicated by black dashed lines. RSM values are indicated in the legend.} +\end{figure} + +\subsection{Reflectivity Scans} +\label{ssec:test_id31_scans_reflectivity} + +X-ray reflectivity measurements involve scanning thin structures, particularly solid/liquid interfaces, through the beam by varying the \(R_y\) angle. +In this experiment, a \(R_y\) scan was executed at a rotational velocity of \(100,\mu rad/s\), and the closed-loop positioning errors were monitored (Figure \ref{fig:test_id31_reflectivity}). +The results confirm that the NASS successfully maintains the point of interest within the specified beam parameters throughout the scanning process. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_reflectivity_dy.png} +\end{center} +\subcaption{\label{fig:test_id31_reflectivity_dy}$D_y$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_reflectivity_dz.png} +\end{center} +\subcaption{\label{fig:test_id31_reflectivity_dz}$D_z$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_reflectivity_ry.png} +\end{center} +\subcaption{\label{fig:test_id31_reflectivity_ry}$R_y$} +\end{subfigure} +\caption{\label{fig:test_id31_reflectivity}Reflectivity scan (\(R_y\)) with a rotational velocity of \(100\,\mu \text{rad}/s\).} +\end{figure} + +\subsection{Dirty Layer Scans} +\label{ssec:test_id31_scans_dz} +In some cases, samples are composed of several atomic ``layers'' that are first aligned in the horizontal plane through \(R_x\) and \(R_y\) positioning, followed by vertical scanning with precise \(D_z\) motion. +These vertical scans can be executed either continuously or in a step-by-step manner. +\paragraph{Step by Step \(D_z\) motion} + +The vertical step motion is performed exclusively with the nano-hexapod. +Testing was conducted across step sizes ranging from \(10,nm\) to \(1,\mu m\), with results presented in Figure \ref{fig:test_id31_dz_mim_steps}. The system successfully resolves 10nm steps when detectors integrate over a 50ms period (illustrated by the red curve in Figure \ref{fig:test_id31_dz_mim_10nm_steps}), which is compatible with many experimental requirements. + +In step-by-step scanning procedures, settling time is a critical parameter as it significantly impacts the total experiment duration. +The system achieves a response time of approximately \(70,ms\) to reach the target position (within \(\pm 20,nm\)), as demonstrated by the \(1,\mu m\) step response in Figure \ref{fig:test_id31_dz_mim_1000nm_steps}. +This settling duration typically decreases for smaller step sizes. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_mim_10nm_steps.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_mim_10nm_steps}10nm steps} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_mim_100nm_steps.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_mim_100nm_steps}100nm steps} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_mim_1000nm_steps.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_mim_1000nm_steps}$1\,\mu$m step} +\end{subfigure} +\caption{\label{fig:test_id31_dz_mim_steps}Vertical steps performed with the nano-hexapod. 10nm steps are shown in \subref{fig:test_id31_dz_mim_10nm_steps} with the low pass filtered data corresponding to an integration time of \(50\,ms\). 100nm steps are shown in \subref{fig:test_id31_dz_mim_100nm_steps}. The response time to reach a peak to peak error of \(\pm 20\,nm\) is \(\approx 70\,ms\) as shown in \subref{fig:test_id31_dz_mim_1000nm_steps} for a \(1\,\mu m\) step.} +\end{figure} + +\paragraph{Continuous \(D_z\) motion: Dirty Layer Scans} + +For these and subsequent experiments, the NASS performs ``ramp scans'' (constant velocity scans). +To eliminate tracking errors, the feedback controller incorporates two integrators, compensating for the plant's lack of integral action at low frequencies. + +Initial testing at \(10,\mu m/s\) demonstrates positioning errors well within specifications (indicated by dashed lines in Figure \ref{fig:test_id31_dz_scan_10ums}). + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_10ums_dy.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_scan_10ums_dy}$D_y$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_10ums_dz.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_scan_10ums_dz}$D_z$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_10ums_ry.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_scan_10ums_ry}$R_y$} +\end{subfigure} +\caption{\label{fig:test_id31_dz_scan_10ums}\(D_z\) scan with a velocity of \(10\,\mu m/s\). \(D_z\) setpoint, measured position and error are shown in \subref{fig:test_id31_dz_scan_10ums_dz}. Errors in \(D_y\) and \(R_y\) are respectively shown in \subref{fig:test_id31_dz_scan_10ums_dy} and \subref{fig:test_id31_dz_scan_10ums_ry}} +\end{figure} + +A subsequent scan at \(100,\mu m/s\) - the maximum velocity for high-precision \(D_z\) scans\footnote{Such scan could corresponding to a 1ms integration time (which is typically the smallest integration time) and 100nm ``resolution'' (equal to the vertical beam size).} - maintains positioning errors within specifications during the constant velocity phase, with deviations occurring only during acceleration and deceleration phases (Figure \ref{fig:test_id31_dz_scan_100ums}). +Since detectors typically operate only during the constant velocity phase, these transient deviations do not compromise measurement quality. +Yet, performance during acceleration phases could potentially be enhanced through the implementation of feedforward control. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_100ums_dy.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_scan_100ums_dy}$D_y$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_100ums_dz.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_scan_100ums_dz}$D_z$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dz_scan_100ums_ry.png} +\end{center} +\subcaption{\label{fig:test_id31_dz_scan_100ums_ry}$R_y$} +\end{subfigure} +\caption{\label{fig:test_id31_dz_scan_100ums}\(D_z\) scan with a velocity of \(100\,\mu m/s\). \(D_z\) setpoint, measured position and error are shown in \subref{fig:test_id31_dz_scan_100ums_dz}. Errors in \(D_y\) and \(R_y\) are respectively shown in \subref{fig:test_id31_dz_scan_100ums_dy} and \subref{fig:test_id31_dz_scan_100ums_ry}} +\end{figure} + +\subsection{Lateral Scans} +\label{ssec:test_id31_scans_dy} +Lateral scans are executed using the \(T_y\) stage. +The stepper motor controller\footnote{The ``IcePAP'' \cite{janvier13_icepap} which is developed at the ESRF.} generates a setpoint that is transmitted to the Speedgoat. +Within the Speedgoat, the system computes the positioning error by comparing the measured \(D_y\) sample position against the received setpoint, and the Nano-Hexapod compensates for positioning errors introduced during \(T_y\) stage scanning. +The scanning range is constrained \(\pm 100\,\mu m\) due to the limited acceptance of the metrology system. +\paragraph{Slow scan} + +Initial testing utilized a scanning velocity of \(10,\mu m/s\), which is typical for these experiments. +Figure \ref{fig:test_id31_dy_10ums} compares the positioning errors between open-loop (without NASS) and closed-loop operation. +In the scanning direction, open-loop measurements reveal periodic errors (Figure \ref{fig:test_id31_dy_10ums_dy}) attributable to the \(T_y\) stage's stepper motor. +These micro-stepping errors, inherent to stepper motor operation, occur 200 times per motor rotation with approximately \(1\,\text{mrad}\) angular error amplitude. +Given the \(T_y\) stage's lead screw pitch of \(2\,mm\), these errors manifest as \(10\,\mu m\) periodic oscillations with \(\approx 300\,nm\) amplitude, which can indeed be seen in the open-loop measurements (Figure \ref{fig:test_id31_dy_10ums_dy}). + +In the vertical direction (Figure \ref{fig:test_id31_dy_10ums_dz}), open-loop errors likely stem from metrology measurement error due to the fact that the top interferometer points at a spherical target surface (see Figure \ref{fig:test_id31_xy_map_sphere}). +Under closed-loop control, positioning errors remain within specifications across all directions. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dy_10ums_dy.png} +\end{center} +\subcaption{\label{fig:test_id31_dy_10ums_dy} $D_y$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dy_10ums_dz.png} +\end{center} +\subcaption{\label{fig:test_id31_dy_10ums_dz} $D_z$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dy_10ums_ry.png} +\end{center} +\subcaption{\label{fig:test_id31_dy_10ums_ry} $R_y$} +\end{subfigure} +\caption{\label{fig:test_id31_dy_10ums}Open-Loop (in blue) and Closed-loop (i.e. using the NASS, in red) during a \(10\,\mu m/s\) scan with the \(T_y\) stage. Errors in \(D_y\) is shown in \subref{fig:test_id31_dy_10ums_dy}.} +\end{figure} + +\paragraph{Fast Scan} + +System performance was evaluated at an increased scanning velocity of \(100\,\mu m/s\), with results presented in Figure \ref{fig:test_id31_dy_100ums}. +At this velocity, the micro-stepping errors generate \(10\,\text{Hz}\) vibrations, which are further amplified by micro-station resonances. +These vibrations exceed the NASS feedback controller bandwidth, resulting in limited attenuation under closed-loop control. +This limitation exemplifies why stepper motors are suboptimal for ``long-stroke/short-stroke'' systems requiring precise scanning performance \cite{dehaeze22_fastj_uhv}. + +Two potential solutions exist for improving high-velocity scanning performance. +First, the \(T_y\) stage's stepper motor could be replaced with a three-phase torque motor. +Alternatively, since closed-loop errors in \(D_z\) and \(R_y\) directions remain within specifications (Figures \ref{fig:test_id31_dy_100ums_dz} and \ref{fig:test_id31_dy_100ums_ry}), detector triggering could be based on measured \(D_y\) position rather than time or \(T_y\) setpoint, reducing sensitivity to \(D_y\) vibrations. +For applications requiring small \(D_y\) scans, the nano-hexapod can be used exclusively, though with limited stroke capability. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dy_100ums_dy.png} +\end{center} +\subcaption{\label{fig:test_id31_dy_100ums_dy} $D_y$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dy_100ums_dz.png} +\end{center} +\subcaption{\label{fig:test_id31_dy_100ums_dz} $D_z$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_dy_100ums_ry.png} +\end{center} +\subcaption{\label{fig:test_id31_dy_100ums_ry} $R_y$} +\end{subfigure} +\caption{\label{fig:test_id31_dy_100ums}Open-Loop (in blue) and Closed-loop (i.e. using the NASS, in red) during a \(100\,\mu m/s\) scan with the \(T_y\) stage. Errors in \(D_y\) is shown in \subref{fig:test_id31_dy_100ums_dy}.} +\end{figure} + +\subsection{Diffraction Tomography} +\label{ssec:test_id31_scans_diffraction_tomo} +In diffraction tomography experiments, the micro-station executes combined motions: continuous rotation around the \(R_z\) axis while performing lateral scans along \(D_y\). +For this validation, the spindle maintained a constant rotational velocity of \(6\,\text{deg/s}\) while the nano-hexapod executed the lateral scanning motion. +To avoid high-frequency vibrations typically induced by the stepper motor, the \(T_y\) stage was not utilized, which constrained the scanning range to approximately \(\pm 100\,\mu m/s\). +The system's performance was evaluated at three lateral scanning velocities: \(0.1\,mm/s\), \(0.5\,mm/s\), and \(1\,mm/s\). Figure \ref{fig:test_id31_diffraction_tomo_setpoint} presents both the \(D_y\) position setpoints and the corresponding measured \(D_y\) positions for all tested velocities. + +\begin{figure}[htbp] +\centering +\includegraphics[scale=1]{figs/test_id31_diffraction_tomo_setpoint.png} +\caption{\label{fig:test_id31_diffraction_tomo_setpoint}Dy motion for several configured velocities} +\end{figure} + +The positioning errors measured along \(D_y\), \(D_z\), and \(R_y\) directions are displayed in Figure \ref{fig:test_id31_diffraction_tomo}. +The system maintained positioning errors within specifications for both \(D_z\) and \(R_y\) (Figures \ref{fig:test_id31_diffraction_tomo_dz} and \ref{fig:test_id31_diffraction_tomo_ry}). +However, lateral positioning errors exceeded specifications during acceleration and deceleration phases (Figure \ref{fig:test_id31_diffraction_tomo_dy}). +Since these large errors occurred only during \(\approx 20\,ms\) intervals, the issue could be addressed by implementing a corresponding delay in detector integration. +Alternatively, developing a feedforward controller could improve lateral positioning accuracy during these transient phases. + +\begin{figure}[htbp] +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_diffraction_tomo_dy.png} +\end{center} +\subcaption{\label{fig:test_id31_diffraction_tomo_dy} $D_y$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_diffraction_tomo_dz.png} +\end{center} +\subcaption{\label{fig:test_id31_diffraction_tomo_dz} $D_z$} +\end{subfigure} +\begin{subfigure}{0.32\textwidth} +\begin{center} +\includegraphics[scale=1,scale=1]{figs/test_id31_diffraction_tomo_ry.png} +\end{center} +\subcaption{\label{fig:test_id31_diffraction_tomo_ry} $R_y$} +\end{subfigure} +\caption{\label{fig:test_id31_diffraction_tomo}Diffraction tomography scans (combined \(R_z\) and \(D_y\) motions) at several \(D_y\) velocities (\(R_z\) rotational velocity is \(6\,\text{deg/s}\)).} +\end{figure} + +\subsection{Conclusion} +\label{ssec:test_id31_scans_conclusion} + +A comprehensive series of experimental validations was conducted to evaluate the NASS performance across a wide range of typical scientific experiments. +The system demonstrated robust performance in most scenarios, with positioning errors generally remaining within specified tolerances (30 nm RMS in \(D_y\), 15 nm RMS in \(D_z\), and 250 nrad RMS in \(R_y\)). + +For tomography experiments, the NASS successfully maintained positioning accuracy at rotational velocities up to \(180\,\text{deg/s}\) with light payloads, though performance degraded somewhat with heavier masses. +The HAC-LAC control architecture proved particularly effective, with the decentralized IFF providing damping of nano-hexapod suspension modes while the high authority controller addressed low-frequency disturbances. + +Vertical scanning capabilities were validated in both step-by-step and continuous motion modes. +The system successfully resolved 10 nm steps with 50 ms detector integration time, while maintaining positioning accuracy during continuous scans at speeds up to \(100\,\mu m/s\). + +For lateral scanning, the system performed well at moderate speeds (\(10\,\mu m/s\)) but showed limitations at higher velocities (\(100\,\mu m/s\)) due to stepper motor-induced vibrations in the \(T_y\) stage. + +The most challenging test case - diffraction tomography combining rotation and lateral scanning - demonstrated the system's ability to maintain vertical and angular stability while highlighting some limitations in lateral positioning during rapid accelerations. +These limitations could potentially be addressed through feedforward control or alternative detector triggering strategies. + +Overall, the experimental results validate the effectiveness of the developed control architecture and demonstrate that the NASS meets most design specifications across a wide range of operating conditions (summarized in Table \ref{tab:test_id31_experiments_results_summary}). +The identified limitations, primarily related to high-speed lateral scanning and heavy payload handling, provide clear directions for future improvements. + +\begin{table}[htbp] +\centering +\begin{tabularx}{\linewidth}{Xccc} +\toprule +\textbf{Experiments} & \(\bm{D_y}\) \textbf{[nmRMS]} & \(\bm{D_z}\) \textbf{[nmRMS]} & \(\bm{R_y}\) \textbf{[nradRMS]}\\ +\midrule +Tomography (\(6\,\text{deg/s}\)) & \(142 \Rightarrow 15\) & \(32 \Rightarrow 5\) & \(464 \Rightarrow 56\)\\ +Tomography (\(6\,\text{deg/s}\), 13kg) & \(149 \Rightarrow 25\) & \(26 \Rightarrow 6\) & \(471 \Rightarrow 55\)\\ +Tomography (\(6\,\text{deg/s}\), 26kg) & \(202 \Rightarrow 25\) & \(36 \Rightarrow 7\) & \(1737 \Rightarrow 104\)\\ +Tomography (\(6\,\text{deg/s}\), 39kg) & \(297 \Rightarrow \bm{53}\) & \(38 \Rightarrow 9\) & \(1737 \Rightarrow 170\)\\ +\midrule +Tomography (\(180\,\text{deg/s}\)) & \(143 \Rightarrow \bm{38}\) & \(24 \Rightarrow 11\) & \(252 \Rightarrow 130\)\\ +Tomography (\(180\,\text{deg/s}\), custom HAC) & \(143 \Rightarrow 29\) & \(24 \Rightarrow 5\) & \(252 \Rightarrow 142\)\\ +\midrule +Reflectivity (\(100\,\mu\text{rad}/s\)) & \(28\) & \(6\) & \(118\)\\ +\midrule +\(D_z\) scan (\(10\,\mu m/s\)) & \(25\) & \(5\) & \(108\)\\ +\(D_z\) scan (\(100\,\mu m/s\)) & \(\bm{35}\) & \(9\) & \(132\)\\ +\midrule +Lateral Scan (\(10\,\mu m/s\)) & \(585 \Rightarrow 21\) & \(155 \Rightarrow 10\) & \(6300 \Rightarrow 60\)\\ +Lateral Scan (\(100\,\mu m/s\)) & \(1063 \Rightarrow \bm{732}\) & \(167 \Rightarrow \bm{20}\) & \(6445 \Rightarrow \bm{356}\)\\ +\midrule +Diffraction tomography (\(6\,\text{deg/s}\), \(0.1\,mm/s\)) & \(\bm{36}\) & \(7\) & \(113\)\\ +Diffraction tomography (\(6\,\text{deg/s}\), \(0.5\,mm/s\)) & \(29\) & \(8\) & \(81\)\\ +Diffraction tomography (\(6\,\text{deg/s}\), \(1\,mm/s\)) & \(\bm{53}\) & \(10\) & \(135\)\\ +\midrule +\textbf{Specifications} & \(30\) & \(15\) & \(250\)\\ +\bottomrule +\end{tabularx} +\caption{\label{tab:test_id31_experiments_results_summary}Summary of the experimental results performed with the NASS on ID31. Open-loop errors are indicated at the left of the arrows. Closed-loop errors that are out of specifications are indicated by bold number.} + +\end{table} + +\subsection*{Conclusion} +\label{ssec:test_id31_conclusion} + +This chapter presented a comprehensive experimental validation of the Nano Active Stabilization System (NASS) on the ID31 beamline, demonstrating its capability to maintain precise sample positioning during various experimental scenarios. +The implementation and testing followed a systematic approach, beginning with the development of a short-stroke metrology system to measure the sample's position, followed by the successful implementation of a HAC-LAC control architecture, and concluding in extensive performance validation across diverse experimental conditions. + +The short-stroke metrology system, while designed as an temporary solution, proved effective in providing high bandwidth and low noise 5-DoF position measurements. +The careful alignment of the fibered interferometers targeting two reference spheres ensured reliable measurements throughout the testing campaign. + +The implementation of the control architecture validated the theoretical framework developed earlier in the project. +The decentralized Integral Force Feedback (IFF) controller successfully provided robust damping of suspension modes across all payload conditions (0-39 kg), reducing peak amplitudes by approximately a factor of 10. +The High Authority Controller (HAC) effectively managed low-frequency disturbances, though its performance showed some dependency on payload mass, particularly for lateral motion control. + +The experimental validation encompassed a wide range of scientific scenarios. +The system demonstrated remarkable performance in most conditions, meeting the stringent positioning requirements (30 nm RMS in \(D_y\), 15 nm RMS in \(D_z\), and 250 nrad RMS in \(R_y\)) for the majority of test cases. +Some limitations were identified, particularly in handling heavy payloads during rapid motions and in managing high-speed lateral scanning with the existing stepper motor \(T_y\) stage. + +The successful validation of the NASS demonstrates that, once an accurate online metrology system is developed, it will be ready for integration into actual beamline operations. +The system's ability to maintain precise sample positioning across a wide range of experimental conditions, combined with its robust performance and adaptive capabilities, suggests it will significantly enhance the quality and efficiency of X-ray experiments at ID31. +Moreover, the systematic approach to system development and validation, along with the detailed understanding of performance limitations, provides valuable insights for future improvements and potential applications in similar high-precision positioning systems. + +\section*{Experimental Validation - Conclusion} -\section{Experimental Validation - Conclusion} \chapter{Conclusion and Future Work} \section{Alternative Architecture} @@ -770,14 +7145,6 @@ Schematic representation of the experimental validation process. \appendix \chapter{Mathematical Tools for Mechatronics} -\section{Feedback Control} - - -\section{Dynamical Noise Budgeting} -\subsection{Power Spectral Density} - -\subsection{Cumulative Amplitude Spectrum} - \chapter{Stewart Platform - Kinematics} \printbibliography[heading=bibintoc,title={Bibliography}] diff --git a/setup.org b/setup.org index 6e48adf..6f0ac46 100644 --- a/setup.org +++ b/setup.org @@ -1,71 +1,11 @@ #+TITLE: Setup file #+PROPERTY: header-args:latex :tangle config.tex -* Babel -#+begin_src latex -\usepackage[french,english]{babel} -#+end_src - -* Figures -#+begin_src latex -\usepackage{graphicx} -\graphicspath{{figs/}} -#+end_src - -* Captions -#+begin_src latex -\usepackage{subcaption} -\captionsetup{subrefformat=parens} -#+end_src - -* Glossary -#+begin_src latex -\usepackage[ % - acronym, % Separate acronyms and glossary - toc, % appear in ToC - automake, % auto-use the makeglossaries command (requires shell-escape) - nonumberlist, % don't back reference pages - nogroupskip, % don't group by letter - nopostdot % don't add a dot at the end of each element -]{glossaries} - -\usepackage[stylemods=longextra]{glossaries-extra} - -\setabbreviationstyle[acronym]{long-short} -\setglossarystyle{long-name-desc} -#+end_src - -#+begin_src latex :tangle config_extra.tex -\makeindex -\makeglossaries -#+end_src - -* Lists -Do not modify itemize/enumerate environments by default -#+begin_src latex -\usepackage[olditem,oldenum]{paralist} -#+end_src - -* Spacing -#+begin_src latex -\RequirePackage{setspace} -\onehalfspacing -#+end_src - -* Tables -#+begin_src latex -\usepackage{booktabs} -\usepackage{multirow} -\usepackage{tabularx} -#+end_src - -I reduce the size of tables so that longer tables can still fit into an A4 (reduce font and make sans serif). -#+begin_src latex -\usepackage{floatrow} -\floatsetup[table]{font={footnotesize,sf},capposition=top} -#+end_src - -* Units +* Config +:PROPERTIES: +:header-args:latex: :tangle config.tex +:END: +** Units #+begin_src latex \usepackage[binary-units=true]{siunitx} @@ -82,10 +22,11 @@ I reduce the size of tables so that longer tables can still fit into an A4 (redu \DeclareSIUnit\rms{rms} #+end_src -* Mathematics +** Mathematics #+begin_src latex \usepackage{amsmath} \usepackage{amsthm} +\usepackage{bm} \usepackage{dsfont} #+end_src @@ -98,25 +39,94 @@ Use these with the proper bracket in order to ensure that they scale automatical \renewcommand{\right}{\aftergroup\egroup\originalright} #+end_src -* Geometry +** Glossary +#+begin_src latex +\usepackage[ % + acronym, % Separate acronyms and glossary + toc, % appear in ToC + automake, % auto-use the makeglossaries command (requires shell-escape) + nonumberlist, % don't back reference pages + nogroupskip, % don't group by letter + nopostdot % don't add a dot at the end of each element +]{glossaries} + +\usepackage[stylemods=longextra]{glossaries-extra} + +\setabbreviationstyle[acronym]{long-short} +\setglossarystyle{long-name-desc} +#+end_src + +* Config Extra +:PROPERTIES: +:header-args:latex: :tangle config_extra.tex +:END: +** Babel +#+begin_src latex +\usepackage[french,english]{babel} +#+end_src + +** Figures +#+begin_src latex +\usepackage{graphicx} +\graphicspath{{figs/}} +#+end_src + +** Captions +#+begin_src latex +\usepackage{caption} +\usepackage{subcaption} +\captionsetup{subrefformat=parens} + +\captionsetup[figure]{labelfont=bf} +\captionsetup[subfigure]{labelfont=bf} +\captionsetup[listing]{labelfont=bf} +\captionsetup[table]{labelfont=bf} +#+end_src + +** Lists +Do not modify itemize/enumerate environments by default +#+begin_src latex +\usepackage[olditem,oldenum]{paralist} +#+end_src + +** Spacing +#+begin_src latex +\RequirePackage{setspace} +\onehalfspacing +#+end_src + +** Tables +#+begin_src latex +\usepackage{booktabs} +\usepackage{multirow} +\usepackage{tabularx} +#+end_src + +I reduce the size of tables so that longer tables can still fit into an A4 (reduce font and make sans serif). +#+begin_src latex +\usepackage{floatrow} +\floatsetup[table]{font={footnotesize,sf},capposition=top} +#+end_src + +** Geometry # \usepackage[paperheight=24.41cm,paperwidth=17.21cm,bottom=3cm,left=1.4cm,right=2cm,heightrounded]{geometry} -* Penalties +** Penalties #+begin_src latex \clubpenalty = 10000 \widowpenalty = 10000 \displaywidowpenalty = 10000 #+end_src -* Headers +** Headers #+begin_src latex \usepackage{scrlayer-scrpage} \pagestyle{scrheadings} #+end_src -* Section/Figure format +** Section/Figure format #+begin_src latex \renewcommand{\partformat}{\huge\partname~\thepart\autodot} \renewcommand{\raggedpart}{\flushleft} @@ -143,8 +153,7 @@ The following commands make chapter numbers BrickRed. \makeatother #+end_src - -* Floating images configuration +** Floating images configuration By default, if a figure consumes 60% of the page it will get its own float-page. To change that we have to adjust the value of the =floatpagefraction= derivative. #+begin_src latex @@ -153,12 +162,14 @@ To change that we have to adjust the value of the =floatpagefraction= derivative See more information [[https://tex.stackexchange.com/questions/68516/avoid-that-figure-gets-its-own-page][here]]. -* Etoolbox package +** Etoolbox package #+begin_src latex \usepackage{etoolbox} + +\pretocmd{\section}{\clearpage}{}{} #+end_src -* Hyperref and Bookmarks +** Hyperref and Bookmarks #+begin_src latex \usepackage[ % colorlinks=true, % @@ -167,6 +178,8 @@ See more information [[https://tex.stackexchange.com/questions/68516/avoid-that- urlcolor=BrickRed, % unicode % ]{hyperref} + +\usepackage{hypcap} #+end_src The bookmark package implements a new bookmark (outline) organisation for package hyperref. @@ -178,7 +191,17 @@ This lets us change the "tree-navigation" associated with the generated pdf and \bookmarksetup{depth=2} #+end_src -* Bibliography +** Use pdf instead of png +#+begin_src latex +\makeatletter +\preto\Gin@extensions{png,} +\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf} +\preto\Gin@extensions{gif,} +\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png} +\makeatother +#+end_src + +** Bibliography #+begin_src latex \usepackage{xpatch} % Recommanded for biblatex @@ -236,7 +259,7 @@ Also reduce the font-size \renewcommand*{\bibfont}{\footnotesize} #+end_src -* Table of Contents for each chapter +** Table of Contents for each chapter Note that this is marked as deprecated for koma-script. #+begin_src latex \usepackage{minitoc} @@ -247,39 +270,55 @@ Note that this is marked as deprecated for koma-script. % \usepackage[nottoc]{tocbibind} #+end_src -* Fonts +** TODO Fonts #+begin_src latex \ifxetexorluatex - \usepackage{unicode-math} + % \usepackage{unicode-math} % It seems I don't need that as I don't want to use unicode char + \usepackage{fontspec} \setmainfont{EB Garamond} - \setmathfont{Garamond Math} + % \setmathfont{Garamond Math} - % Load some missing symbols from another font. - \setmathfont{STIX Two Math}[% - range = { - \sharp, - \natural, - \flat, - \clubsuit, - \spadesuit, - \checkmark - } - ] - \setmonofont[Scale=MatchLowercase]{Source Code Pro} + % % Load some missing symbols from another font. + % \setmathfont{STIX Two Math}[% + % range = { + % \sharp, + % \natural, + % \flat, + % \clubsuit, + % \spadesuit, + % \checkmark + % } + % ] + % \setmonofont[Scale=MatchLowercase]{Source Code Pro} \else - \usepackage[lf]{ebgaramond} % https://tug.org/FontCatalogue/quattrocento/ + % \usepackage[lf]{ebgaramond} % https://tug.org/FontCatalogue/quattrocento/ \usepackage[oldstyle,scale=0.7]{sourcecodepro} % https://tug.org/FontCatalogue/sourcecodepro/ \singlespacing \fi #+end_src -* Colors +** Colors #+begin_src latex \usepackage[usenames,dvipsnames]{xcolor} + +\definecolor{my-blue}{HTML}{6b7adb} +\definecolor{my-pale-blue}{HTML}{e6e9f9} +\definecolor{my-red}{HTML}{db6b6b} +\definecolor{my-pale-red}{HTML}{f9e6e6} +\definecolor{my-green}{HTML}{6bdbb6} +\definecolor{my-pale-green}{HTML}{e6f9f3} +\definecolor{my-yellow}{HTML}{dbd26b} +\definecolor{my-pale-yellow}{HTML}{f9f7e6} +\definecolor{my-orange}{HTML}{dba76b} +\definecolor{my-pale-orange}{HTML}{f9f0e6} +\definecolor{my-grey}{HTML}{a3a3a3} +\definecolor{my-pale-grey}{HTML}{f0f0f0} +\definecolor{my-turq}{HTML}{6bc7db} +\definecolor{my-pale-turq}{HTML}{e6f6f9} #+end_src -* CS Quotes +** CS Quotes The [[https://ctan.org/pkg/csquotes][csquotes]] package offers context sensitive quotation facilities, improving the typesetting of inline quotes. #+begin_src latex @@ -310,28 +349,28 @@ And then use quotes as: Note that org-ref links won't work here because the attr latex will be pasted as-is in the .tex file. -* Setspace for controlling line spacing +** Setspace for controlling line spacing #+begin_src latex \usepackage{setspace} \setstretch{1.25} #+end_src -* Parskip +** Parskip Fine tuning of spacing between paragraphs. See [[https://tex.stackexchange.com/questions/161254/smaller-parskip-than-half-for-koma-script][thread here]]. #+begin_src latex \setparsizes{0em}{0.1\baselineskip plus .1\baselineskip}{1em plus 1fil} #+end_src -* Possible Equation improvements +** Possible Equation improvements Make the equation numbers follow the chapter, not the whole thesis. #+begin_src latex \numberwithin{equation}{chapter} #+end_src -* Minted +** Minted The minted package is used for highlighting source code. #+begin_src latex @@ -349,14 +388,19 @@ And reduce the distance between a minted listing and its caption. \AtEndEnvironment{listing}{\vspace{-16pt}} #+end_src -* Scrhack +#+begin_src matlab +\let\OldTexttt\texttt +\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}} +#+end_src + +** Scrhack This package fixes some incompatibility errors between KOMAScript and other packages (namely minted). It has to be loaded at the end. #+begin_src latex \usepackage{scrhack} #+end_src -* Background cover page +** Background cover page Add the cover image as background to the first page. Only do so when outputting a final version, because it significantly slows down the compilation times. #+begin_src latex :tangle no @@ -371,3 +415,19 @@ Add the cover image as background to the first page. Only do so when outputting }% } #+end_src + +** Various +#+begin_src latex +\usepackage{float} +\usepackage{enumitem} + +% highlight +\usepackage{soul} +\sethlcolor{my-pale-grey} +#+end_src + +** Index and glossaries +#+begin_src latex +\makeindex +\makeglossaries +#+end_src