diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..a06e566
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+*.pdf binary
+*.svg binary
+*.mat binary
diff --git a/.gitignore b/.gitignore
index 6b7e1a4..d7a02f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,3 @@
-mat/
-figures/
ltximg/
slprj/
matlab/slprj/
diff --git a/preamble.tex b/preamble.tex
index d18dbd9..adafd1c 100644
--- a/preamble.tex
+++ b/preamble.tex
@@ -1,137 +1,16 @@
-\usepackage{float}
+\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{caption,tabularx,booktabs}
-\usepackage{bm}
+\usepackage[stylemods=longextra]{glossaries-extra}
-\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}
+\setabbreviationstyle[acronym]{long-short}
+\setglossarystyle{long-name-desc}
-\setlength\bibitemsep{1.1\itemsep}
-
-% \renewcommand*{\bibfont}{\footnotesize}
-
-\usepackage{fontawesome}
-
-\usepackage{caption}
-\usepackage{subcaption}
-
-\captionsetup[figure]{labelfont=bf}
-\captionsetup[subfigure]{labelfont=bf}
-\captionsetup[listing]{labelfont=bf}
-\captionsetup[table]{labelfont=bf}
-
-\usepackage{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{inconsolata}
-
-\usepackage[newfloat=true, chapter]{minted}
-\usemintedstyle{autumn}
-
-\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey}
-\setminted[matlab]{label=Matlab}
-\setminted[latex]{label=LaTeX}
-\setminted[bash]{label=Bash}
-\setminted[python]{label=Python}
-\setminted[text]{label=Results}
-\setminted[md]{label=Org Mode}
-
-\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey}
-
-\usepackage[most]{tcolorbox}
-
-\tcbuselibrary{minted}
-
-\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
-\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
-\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
-\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
-\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
-\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
-\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
-\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
-\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
-\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note}
-\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
-\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
-
-\newtcolorbox{my-quote}[1]{%
- colback=my-pale-grey,
- grow to right by=-10mm,
- grow to left by=-10mm,
- boxrule=0pt,
- boxsep=0pt,
- breakable,
- enhanced jigsaw,
- borderline west={4pt}{0pt}{my-grey}}
-
-\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}}
-
-\newtcolorbox{my-verse}[1]{%
- colback=my-pale-grey,
- grow to right by=-10mm,
- grow to left by=-10mm,
- boxrule=0pt,
- boxsep=0pt,
- breakable,
- enhanced jigsaw,
- borderline west={4pt}{0pt}{my-grey}}
-
-\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}}
-
-\usepackage{environ}% http://ctan.org/pkg/environ
-\NewEnviron{aside}{%
- \marginpar{\BODY}
-}
-
-\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}}
-
-\usepackage{soul}
-\sethlcolor{my-pale-grey}
-
-\let\OldTexttt\texttt
-\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}}
-
-\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{hyperref}
-\hypersetup{
- colorlinks = true,
- allcolors = my-blue
-}
-
-\usepackage{hypcap}
+\makeindex
+\makeglossaries
diff --git a/preamble_extra.tex b/preamble_extra.tex
new file mode 100644
index 0000000..98cfc04
--- /dev/null
+++ b/preamble_extra.tex
@@ -0,0 +1,134 @@
+\usepackage{float}
+\usepackage{enumitem}
+
+\usepackage{caption,tabularx,booktabs}
+\usepackage{bm}
+
+\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}
+
+\setlength\bibitemsep{1.1\itemsep}
+
+\usepackage{caption}
+\usepackage{subcaption}
+
+\captionsetup[figure]{labelfont=bf}
+\captionsetup[subfigure]{labelfont=bf}
+\captionsetup[listing]{labelfont=bf}
+\captionsetup[table]{labelfont=bf}
+
+\usepackage{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{inconsolata}
+
+\usepackage[newfloat=true, chapter]{minted}
+\usemintedstyle{autumn}
+
+\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey}
+\setminted[matlab]{label=Matlab}
+\setminted[latex]{label=LaTeX}
+\setminted[bash]{label=Bash}
+\setminted[python]{label=Python}
+\setminted[text]{label=Results}
+\setminted[md]{label=Org Mode}
+
+\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey}
+
+\usepackage[most]{tcolorbox}
+
+\tcbuselibrary{minted}
+
+\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
+\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
+\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
+\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
+\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
+\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
+\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
+\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
+\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
+\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note}
+\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
+\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
+
+\newtcolorbox{my-quote}[1]{%
+ colback=my-pale-grey,
+ grow to right by=-10mm,
+ grow to left by=-10mm,
+ boxrule=0pt,
+ boxsep=0pt,
+ breakable,
+ enhanced jigsaw,
+ borderline west={4pt}{0pt}{my-grey}}
+
+\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}}
+
+\newtcolorbox{my-verse}[1]{%
+ colback=my-pale-grey,
+ grow to right by=-10mm,
+ grow to left by=-10mm,
+ boxrule=0pt,
+ boxsep=0pt,
+ breakable,
+ enhanced jigsaw,
+ borderline west={4pt}{0pt}{my-grey}}
+
+\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}}
+
+\usepackage{environ}% http://ctan.org/pkg/environ
+\NewEnviron{aside}{%
+ \marginpar{\BODY}
+}
+
+\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}}
+
+\usepackage{soul}
+\sethlcolor{my-pale-grey}
+
+\let\OldTexttt\texttt
+\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}}
+
+\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{hyperref}
+\hypersetup{
+ colorlinks = true,
+ allcolors = my-blue
+}
+
+\usepackage{hypcap}
diff --git a/simscape-nass.org b/simscape-nass.org
index d6db83c..234827d 100644
--- a/simscape-nass.org
+++ b/simscape-nass.org
@@ -15,7 +15,8 @@
#+LaTeX_CLASS: scrreprt
#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]
-#+LaTeX_HEADER_EXTRA: \input{preamble.tex}
+#+LATEX_HEADER: \input{preamble.tex}
+#+LATEX_HEADER_EXTRA: \input{preamble_extra.tex}
#+LATEX_HEADER_EXTRA: \bibliography{simscape-nass.bib}
#+BIND: org-latex-bib-compiler "biber"
@@ -44,12 +45,6 @@
#+PROPERTY: header-args:latex+ :post pdf2svg(file=*this*, ext="png")
:END:
-#+begin_export html
-
- This report is also available as a pdf.
-
-#+end_export
-
#+latex: \clearpage
* Build :noexport:
@@ -96,41 +91,191 @@
#+END_SRC
* Notes :noexport:
+** Notes
+Prefix is =nass=
The goals of this report are:
-- ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/positioning_error.org][positioning_error]]): Explain how the NASS control is made (computation of the wanted position, measurement of the sample position, computation of the errors)
-- ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/uncertainty_experiment.org][uncertainty_experiment]]): Effect of experimental conditions on the plant (payload mass, Ry position, Rz position, Rz velocity, etc...)
-- Determination of the optimal stiffness for the hexapod actuators: [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/uncertainty_optimal_stiffness.org][uncertainty_optimal_stiffness]], [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/optimal_stiffness_disturbances.org][optimal_stiffness_disturbances]], [[file:~/Cloud/work-projects/ID31-NASS/documents/state-of-thesis-2020/index.org][state-of-thesis-2020]]
-- Explain why HAC-LAC strategy is nice (maybe already explained earlier) ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/control.org][control]], [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-vibration-isolation.org][hexapod - vibration isolation]])
-- How to apply/optimize IFF on an hexapod? ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/control_active_damping.org][control_active_damping]], [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-active-damping.org][active damping for stewart platforms]])
-- ([[file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org][decoupling-strategies]]): Decoupling strategies for HAC?
-- Validation of the concept using simulations:
- - [ ] Find where this simulation in OL/CL is made
+- [X] ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/positioning_error.org][positioning_error]]): Explain how the NASS control is made (computation of the wanted position, measurement of the sample position, computation of the errors)
+- [X] ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/uncertainty_experiment.org][uncertainty_experiment]]): Effect of experimental conditions on the plant (payload mass, Ry position, Rz position, Rz velocity, etc...)
+- [ ] Determination of the *optimal stiffness* for the hexapod actuators:
+ - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/uncertainty_optimal_stiffness.org][uncertainty_optimal_stiffness]]
+ - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/optimal_stiffness_disturbances.org][optimal_stiffness_disturbances]]
+ - [ ] [[file:~/Cloud/work-projects/ID31-NASS/documents/state-of-thesis-2020/index.org][state-of-thesis-2020]]
+ - [ ] [[file:/home/thomas/Cloud/meetings/group-meetings-me/2020-04-06-NASS-Design/2020-04-06-NASS-Design.org][group-meeting-optimal-stiffness]]
+ Should this be in this report? *This should be in chapter 2*
+- [X] Explain why HAC-LAC strategy is nice (*It was already explained in uniaxial model*)
+ - [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/control.org][different control architectures]]
+ - [X] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-vibration-isolation.org][hexapod - vibration isolation]]
+- [X] How to apply/optimize IFF on an hexapod? ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/control_active_damping.org][control_active_damping]], [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-active-damping.org][active damping for stewart platforms]])
+- [X] ([[file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org][decoupling-strategies]]): Decoupling strategies for HAC? (maybe also in previous report)
+ *Will be in chapter 2*
+- [X] Validation of the concept using simulations:
+ - [X] Find where this simulation in OL/CL is made (maybe for the conference?)
+ It was re-made for micro-station validation. Will just have to do the same simulation but with nano-hexapod in closed-loop
- Tomography experiment (maybe also Ty scans)
- Open VS Closed loop results
- *Conclusion*: concept validation
nano hexapod architecture with APA
decentralized IFF + centralized HAC
+- In this section simple control (in the frame of the struts)
+- Justify future used control architecture (control in the frame of the struts? Need to check what was done in ID31 tests)
+- Table that compares different approaches (specify performances in different DoF, same plans on the diagonal, etc...)
+- Literature review about Stewart platform control?
+*In chapter 2: Special section about MIMO control, complementary filters, etc...*
+
+** Outline
+*** Control Kinematics
+
+- Explain how the position error can be expressed in the frame of the nano-hexapod
+- ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/positioning_error.org][positioning_error]]): Explain how the NASS control is made (computation of the wanted position, measurement of the sample position, computation of the errors)
+- Control architecture, block diagram
+
+*** LAC
+
+- How to apply/optimize IFF on an hexapod? ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/control_active_damping.org][control_active_damping]], [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-active-damping.org][active damping for stewart platforms]])
+- Robustness to payload mass
+- Root Locus
+- Damping optimization
+
+*** HAC
+
+- ([[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/uncertainty_experiment.org][uncertainty_experiment]]): Effect of experimental conditions on the plant (payload mass, Ry position, Rz position, Rz velocity, etc...)
+- Determination of the *optimal stiffness* for the hexapod actuators:
+ - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/uncertainty_optimal_stiffness.org][uncertainty_optimal_stiffness]]
+ - [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/optimal_stiffness_disturbances.org][optimal_stiffness_disturbances]]
+ - [ ] [[file:~/Cloud/work-projects/ID31-NASS/documents/state-of-thesis-2020/index.org][state-of-thesis-2020]]
+ - [ ] [[file:/home/thomas/Cloud/meetings/group-meetings-me/2020-04-06-NASS-Design/2020-04-06-NASS-Design.org][group-meeting-optimal-stiffness]]
+- Effect of micro-station compliance
+- Effect of IFF
+- Effect of payload mass
+- Decoupled plant
+- Controller design
+
+*** Simulations
+
+- Take into account disturbances, metrology sensor noise. Maybe say here that we don't take in account other noise sources as they will be optimized latter (detail design phase)
+- Tomography + lateral scans (same as what was done in open loop [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A4-simscape-micro-station/simscape-micro-station.org::*Simulation of Scientific Experiments][here]])
+- Validation of concept
+
+** DONE Old Outline
+CLOSED: [2024-11-07 Thu 16:19]
+*** 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
+
+*** Time domain simulations
+
+Goal: validation of the concept
+- Take into account disturbances, sensor noise, etc...
+- Tomography + lateral scans (same as what was done in open loop [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A4-simscape-micro-station/simscape-micro-station.org::*Simulation of Scientific Experiments][here]])
+
+** TODO [#A] Merge the micro-station model with the nano-hexapod model
+** TODO [#B] Rework the Simulink file
+
+- [ ] Change the variable names to make things consistent
+- [ ] Rework the org files to match the new variable names
+
+** DONE [#A] Where to discuss the necessity of estimated Rz?
+CLOSED: [2025-02-06 Thu 16:35]
+
+One big advantage of doing the control in the cartesian plane, is that we don't need the estimation of nano-hexapod Rz, therefore we don't need the encoders anymore!
+
+Maybe this should be done *here*.
+Here it can be reminded when doing the control in the cartesian frame.
+
+** CANC [#C] What performance metric can we use? :@christophe:
+CLOSED: [2024-11-12 Tue 09:22]
+- State "CANC" from "QUES" [2024-11-12 Tue 09:22]
+This can be nice to have a (scalar) performance metric that can be used for optimization.
+
+In cite:hauge04_sensor_contr_space_based_six, a (scalar) performance metric representing the 6dof transmissibility is used.
+
+** DONE [#C] Identify the sensibility to disturbances without the nano-hexapod and save the results
+CLOSED: [2024-11-07 Thu 09:20]
+This can then be used to compare with obtained performance with the nano-hexapod.
+
+This should be done in the ustation report (A4).
+
* Introduction :ignore:
+From last sections:
+- Uniaxial: No stiff nano-hexapod (should also demonstrate that here)
+- Rotating: No soft nano-hexapod, Decentralized IFF can be used robustly by adding parallel stiffness
-#+name: tab:simscape_nass_section_matlab_code
+In this section:
+- Take the model of the nano-hexapod with stiffness 1um/N
+- Apply decentralized IFF
+- Apply HAC-LAC
+- Check robustness to payload change
+- Simulation of experiments
+
+#+name: tab:nass_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:simscape_nass_1_a | =simscape_nass_1_.m= |
+| *Sections* | *Matlab File* |
+|--------------------------+---------------|
+| Section ref:sec:nass_1_a | =nass_1_.m= |
-
-* Section 1
+* Control Kinematics
:PROPERTIES:
-:HEADER-ARGS:matlab+: :tangle matlab/simscape_nass_1.m
+:HEADER-ARGS:matlab+: :tangle matlab/nass_1_kinematics.m
:END:
-<>
+<>
** Introduction :ignore:
+- Explain how the position error can be expressed in the frame of the nano-hexapod
+- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/positioning_error.org][positioning_error]]: Explain how the NASS control is made (computation of the wanted position, measurement of the sample position, computation of the errors)
+- Control architecture, block diagram
+
+- Schematic with micro-station + nass + metrology + control system
+- Zoom in the control system with blocs
+- Then explain all the blocs
+- Say that there are many control strategies.
+ It will be the topic of chapter 2.3.
+ Here, we start with something simple: control in the frame of the struts
+
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<>
@@ -168,8 +313,103 @@ load('uniaxial_micro_station_parameters.mat')
#+end_src
+** Micro Station Kinematics
+
+- from ref:ssec:ustation_kinematics, computation of the wanted sample pose from the setpoint of each stage.
+
+** Computation of the sample's pose error
+
+From metrology (here supposed to be perfect 6-DoF), compute the sample's pose error.
+Has to invert the homogeneous transformation.
+
+** Position error in the frame of the nano-hexapod
+
+Explain how to compute the errors in the frame of the struts (rotating)
+
+* Decentralized Active Damping
+:PROPERTIES:
+:HEADER-ARGS:matlab+: :tangle matlab/nass_2_active_damping.m
+:END:
+<>
+** Introduction :ignore:
+
+- How to apply/optimize IFF on an hexapod? ()
+- Robustness to payload mass
+- Root Locus
+- Damping optimization
+
+- [ ][[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/control_active_damping.org][control_active_damping]]
+- [ ][[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-active-damping.org][active damping for stewart platforms]]
+- [ ][[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org::*Vibration Control and Active Damping][Vibration Control and Active Damping]]
+
+** IFF Plant
+
+- Show how it changes with the payload mass (1, 25, 50)
+- Effect of rotation (1rpm, 60rpm)
+
+** Controller Design
+
+- Apply IFF
+- Show Root Locus
+- Choose optimal gain.
+ Here in MIMO, cannot have optimal damping for all modes. (there is a paper that tries to optimize that)
+- Show robustness to change of payload (loci?)
+- Reference to paper showing stability in MIMO for decentralized IFF
+
+** Sensitivity to disturbances
+
+- Compute transfer functions from spindle vertical error to sample vertical error with IFF (and compare without the NASS)
+- Same for horizontal
+- Maybe noise budgeting, but may be complex in MIMO...
+
+* Centralized Active Vibration Control
+:PROPERTIES:
+:HEADER-ARGS:matlab+: :tangle matlab/nass_3_hac.m
+:END:
+<>
+** Introduction :ignore:
+
+- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/uncertainty_experiment.org][uncertainty_experiment]]: Effect of experimental conditions on the plant (payload mass, Ry position, Rz position, Rz velocity, etc...)
+- Effect of micro-station compliance
+- Effect of IFF
+- Effect of payload mass
+- Decoupled plant
+- Controller design
+
+From control kinematics:
+- Talk about issue of not estimating Rz from external metrology? (maybe could be nice to discuss that during the experiments!)
+- Show what happens is Rz is not estimated (for instance supposed equaled to zero => increased coupling)
+
+** HAC Plant
+
+- Compute transfer function from u to dL (with IFF applied)
+
+** Effect of Payload mass
+
+- Show effect of payload mass + rotation
+
+** Controller design
+
+- Show robustness with Loci
+
+** Sensitivity to disturbances
+
+- Compute transfer functions from spindle vertical error to sample vertical error with HAC-IFF
+ Compare without the NASS, and with just IFF
+- Same for horizontal
+- Maybe noise budgeting, but may be complex in MIMO...
+
+** Tomography experiment
+
+- With HAC-IFF, perform tomography experiment, and compare with open-loop
+
+- Take into account disturbances, metrology sensor noise. Maybe say here that we don't take in account other noise sources as they will be optimized latter (detail design phase)
+- Tomography + lateral scans (same as what was done in open loop [[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A4-simscape-micro-station/simscape-micro-station.org::*Simulation of Scientific Experiments][here]])
+- Validation of concept
+
* Conclusion
-<>
+<>
+
* Bibliography :ignore:
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]