Make clear outline
This commit is contained in:
parent
d91386ccc3
commit
7fd07bc155
3
.gitattributes
vendored
Normal file
3
.gitattributes
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.pdf binary
|
||||
*.svg binary
|
||||
*.mat binary
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,5 +1,3 @@
|
||||
mat/
|
||||
figures/
|
||||
ltximg/
|
||||
slprj/
|
||||
matlab/slprj/
|
||||
|
147
preamble.tex
147
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
|
||||
|
134
preamble_extra.tex
Normal file
134
preamble_extra.tex
Normal file
@ -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}
|
@ -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-nano-hexapod.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
|
||||
<hr>
|
||||
<p>This report is also available as a <a href="./simscape-nano-hexapod.pdf">pdf</a>.</p>
|
||||
<hr>
|
||||
#+end_export
|
||||
|
||||
#+latex: \clearpage
|
||||
|
||||
* Build :noexport:
|
||||
@ -96,41 +91,237 @@
|
||||
#+END_SRC
|
||||
|
||||
* Notes :noexport:
|
||||
** Notes
|
||||
Prefix is =nhexa=
|
||||
|
||||
Based on:
|
||||
- [ ] Stewart platform presentation: [[file:~/Cloud/meetings/group-meetings-me/2020-01-27-Stewart-Platform-Simscape/2020-01-27-Stewart-Platform-Simscape.org]]
|
||||
- [ ] Add some sections from here: [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/index.org]]
|
||||
For instance:
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/stewart-architecture.org][stewart architecture]]
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/stewart_platform.org::+TITLE: Stewart Platform - Simscape Model]]
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/kinematic-study.org][kinematic study]]
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/identification.org][stewart platform - dynamics]]
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org][cubic configuration]]
|
||||
- [ ] Look at the [[file:~/Cloud/work-projects/ID31-NASS/documents/state-of-thesis-2020/index.org][NASS 2020 report]]
|
||||
Sections 5.1, 5.4
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/amplified_piezoelectric_stack.org][amplified_piezoelectric_stack]] (Just use 2DoF here)
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/nano_hexapod.org][nano_hexapod]] (it seems this report is already after the detailed design phase)
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/nano_hexapod.org][nano_hexapod]] (it seems this report is already after the detailed design phase: yes but some parts could be interesting)
|
||||
- [ ] Should the study of effect of flexible joints be included here?
|
||||
- [X] file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-vibration-isolation.org
|
||||
|
||||
Questions:
|
||||
- [ ] 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
|
||||
|
||||
** TODO [#A] Copy relevant parts of reports
|
||||
|
||||
- [ ] Stewart platform presentation: [[file:~/Cloud/meetings/group-meetings-me/2020-01-27-Stewart-Platform-Simscape/2020-01-27-Stewart-Platform-Simscape.org]]
|
||||
- [ ] Add some sections from here: [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/index.org]]
|
||||
For instance:
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/stewart-architecture.org][stewart architecture]]
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/stewart_platform.org::+TITLE: Stewart Platform - Simscape Model]]
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/kinematic-study.org][kinematic study]]
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/identification.org]]
|
||||
Effect of joints stiffnesses
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org][cubic configuration]]
|
||||
- [ ] Look at the [[file:~/Cloud/work-projects/ID31-NASS/documents/state-of-thesis-2020/index.org][NASS 2020 report]]
|
||||
Sections 5.1, 5.4
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/amplified_piezoelectric_stack.org][amplified_piezoelectric_stack]] (Just use 2DoF here)
|
||||
- [ ] [[file:~/Cloud/work-projects/ID31-NASS/matlab/nass-simscape/org/nano_hexapod.org][nano_hexapod]] (it seems this report is already after the detailed design phase: yes but some parts could be interesting)
|
||||
- [ ] Should the study of effect of flexible joints be included here?
|
||||
- [X] file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/control-vibration-isolation.org
|
||||
|
||||
** DONE [#A] Make a nice outline
|
||||
CLOSED: [2025-02-05 Wed 17:45]
|
||||
|
||||
*Introduction*
|
||||
- Choice of architecture to do 5DoF control
|
||||
- Stewart platform
|
||||
- Need to model the active vibration platform
|
||||
- Control
|
||||
|
||||
*1 - Active Vibration Platforms*:
|
||||
Introduction:
|
||||
Maybe no sections, just a review discussing several aspect of the platforms.
|
||||
1. Review of active vibration platforms (focused on Synchrotron applications)
|
||||
2. Serial and Parallel Architecture: advantages and disadvantages of both
|
||||
3. Which architecture => Parallel manipulator? Why *Stewart platform*?
|
||||
|
||||
*2 - The Stewart Platform*:
|
||||
Introduction: some history about Stewart platform and why it is so used
|
||||
1. Architecture (plates, struts, joints)
|
||||
2. Kinematics and Jacobian
|
||||
4. Static Analysis
|
||||
5. Dynamic Analysis: very complex => multi-body model
|
||||
For instance, compute the plant for massless struts and perfect joints (will be compared with Simscape model).
|
||||
But say that if we want to model more complex cases, it becomes impractical (cite papers).
|
||||
|
||||
*3 - Multi-Body model of the Stewart platform*:
|
||||
Introduction: Complex dynamics => analytical formulas can be complex => Choose to study the dynamics using a multi-body model
|
||||
1. Model definition: (Matlab Toolbox), frames, inertias of parts, stiffnesses, struts, etc...
|
||||
2. Joints: perfect 2dof/3dof (+ mass-less)
|
||||
3. Actuators: APA + Encoder (mass-less)
|
||||
4. Nano-Hexapod: definition of each part + Plant with defined inputs/outputs (force sensor, relative displacement sensor, etc...)
|
||||
Compare with analytical formulas (see number of states)
|
||||
|
||||
*4 - Control of the Stewart Platform*:
|
||||
Introduction: MIMO control => much more complex than SISO control because of interaction. Possible to ignore interaction when good decoupling (important to have tools to study interaction)
|
||||
1. Centralized and Decentralized Control
|
||||
2. Decoupling Control / Choice of control space file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org
|
||||
Estimate coupling: RGA
|
||||
- Jacobian matrices, CoK, CoM, control in the frame of the struts, ...
|
||||
- Discussion of cubic architecture (quick, as it is going to be in detailed in chapter 2)
|
||||
- SVD, Modal, ...
|
||||
3. Active Damping: decentralized IFF
|
||||
Guaranteed stability?
|
||||
For decentralized control: "MIMO root locus"
|
||||
How to optimize the added damping to all modes?
|
||||
4. HAC-LAC
|
||||
Stability of closed-loop: Nyquist (main advantage: possible to do with experimental FRF)
|
||||
|
||||
*Conclusion*:
|
||||
- Configurable Stewart platform model
|
||||
- Will be included in the multi-body model of the micro-station => nass multi body model
|
||||
|
||||
** DONE [#A] Location of this report in the complete thesis
|
||||
CLOSED: [2025-02-05 Wed 16:04]
|
||||
|
||||
*Before the report* (assumptions):
|
||||
- Uniaxial model: no stiff actuator, HAC-LAC strategy
|
||||
- Rotating model:
|
||||
Soft actuators are problematic due to gyroscopic effects
|
||||
Use moderately stiff (1um/N).
|
||||
IFF can be applied with APA architecture
|
||||
- Model of Micro-station is ready
|
||||
|
||||
*In this report*:
|
||||
- Goal: build a flexible (i.e. configurable) multi-body model of a Stewart platform that will be used in the next section to perform dynamical analysis and simulate experiments with the complete NASS
|
||||
- Here, I propose to work with "perfect" stewart platforms:
|
||||
- almost mass-less struts
|
||||
- joints with zero stiffness in free DoFs (i.e. 2-DoF and 3-DoF joints)
|
||||
- Presentation of Stewart platforms (Literature review about stewart platforms will be done in chapter 2)
|
||||
- Presentation of the Simscape model
|
||||
|
||||
*After the report* (NASS-Simscape):
|
||||
- nano-hexapod on top of micro-station
|
||||
- control is performed
|
||||
- simulations => validation of the concept
|
||||
|
||||
** TODO [#C] First time in the report that we speak about MIMO control ? Or maybe next section!
|
||||
|
||||
Maybe should introduce:
|
||||
- "MIMO" Root locus
|
||||
- "MIMO" Nyquist plot / characteristic loci
|
||||
|
||||
Or should this be in annexes?
|
||||
|
||||
Maybe say that in this phd-thesis, the focus is not on the control.
|
||||
I tried multiple architectures (complementary filters, etc.), but the focus is not on that.
|
||||
|
||||
** QUES [#C] Cubic architecture should be the topic here or in the detailed design?
|
||||
|
||||
I suppose that it should be in the detailed design phase.
|
||||
(Review about Stewart platform design should be made in Chapter two.)
|
||||
|
||||
Here, just use simple control architecture for general validation (and not optimization).
|
||||
|
||||
** QUES [#C] Should I make a review of control strategies?
|
||||
|
||||
Yes it seems to good location for review related to control.
|
||||
|
||||
Jacobian matrix.
|
||||
Control is the frame of the struts, in the cartesian frame (CoM, CoK), modal control, etc...
|
||||
|
||||
[[file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org][file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org]]
|
||||
|
||||
** TODO [#C] Compare simscape =linearize= and analytical formula
|
||||
|
||||
- [X] OK for $\omega=0$ (using just the Stiffness matrix)
|
||||
- [ ] Should add the mass matrix and compare for all frequencies
|
||||
|
||||
The analytical dynamic model is taken from cite:taghirad13_paral
|
||||
|
||||
** TODO [#C] Output the cubic configuration with clear display of the cube and center of the cube
|
||||
|
||||
[[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/cubic-configuration.org][cubic configuration]]
|
||||
|
||||
** TODO [#C] Make sure the Simulink file for the Stewart platform is working well
|
||||
|
||||
It should be the exact model reference that will be included in the NASS model.
|
||||
|
||||
** TODO [#C] Maybe make an appendix to present the developed toolbox?
|
||||
|
||||
* Introduction :ignore:
|
||||
|
||||
Goal of this report is:
|
||||
- show what is an hexapod, how we can define its geometry, stiffness, etc...
|
||||
- Some kinematics: stiffness matrix, mass matrix, etc...
|
||||
- talk about cubic architecture?
|
||||
Introduction:
|
||||
- Choice of architecture to do 5DoF control (Section ref:sec:nhexa_platform_review)
|
||||
- Stewart platform (Section ref:sec:nhexa_stewart_platform)
|
||||
Show what is an hexapod, how we can define its geometry, stiffness, etc...
|
||||
Some kinematics: stiffness matrix, mass matrix, etc...
|
||||
- Need to model the active vibration platform: multi-body model (Section ref:sec:nhexa_model)
|
||||
Explain what we want to capture with this model
|
||||
Key elements (plates, joints, struts): for now simplistic model (rigid body elements, perfect joints, ...), but in next section, FEM will be used
|
||||
- Control (Section ref:sec:nhexa_control)
|
||||
|
||||
#+name: tab:simscape_nhexapod_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_nhexapod_1_.m= |
|
||||
|
||||
* Nano-Hexapod Kinematics
|
||||
:PROPERTIES:
|
||||
:HEADER-ARGS:matlab+: :tangle matlab/.m
|
||||
:END:
|
||||
<<sec:simscape_nhexapod_kinematics>>
|
||||
* Active Vibration Platforms
|
||||
<<sec:nhexa_platform_review>>
|
||||
** Introduction :ignore:
|
||||
|
||||
*Goals*:
|
||||
- Explain why Stewart platform architecture is chosen
|
||||
- Explain what is a Stewart platform (quickly as it will be shown in details in the next section)
|
||||
- Quick review of active vibration platforms (5 or 6DoF)
|
||||
|
||||
Active vibration platform with 5DoF or 6DoF?
|
||||
Synchrotron applications?
|
||||
|
||||
|
||||
- Literature review? (*maybe more suited for chapter 2*)
|
||||
- file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/bibliography.org
|
||||
- Talk about flexible joint? Maybe not so much as it should be topic of second chapter.
|
||||
Just say that we must of flexible joints that can be defined as 3 to 6DoF joints, and it will be optimize in chapter 2.
|
||||
- [[cite:&taghirad13_paral]]
|
||||
- For some systems, just XYZ control (stack stages), example: holler
|
||||
- For other systems, Stewart platform (ID16a), piezo based
|
||||
- Examples of Stewart platforms for general vibration control, some with Piezo, other with Voice coil. IFF, ...
|
||||
Show different geometry configuration
|
||||
- DCM: tripod?
|
||||
|
||||
** Active vibration control of sample stages
|
||||
|
||||
[[file:~/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/nass-introduction.org::*Review of stages with online metrology for Synchrotrons][Review of stages with online metrology for Synchrotrons]]
|
||||
|
||||
- [ ] Talk about external metrology?
|
||||
- [ ] Talk about control architecture?
|
||||
- [ ] Comparison with the micro-station / NASS
|
||||
|
||||
** Serial and Parallel Manipulators
|
||||
|
||||
*Goal*:
|
||||
- Explain why a parallel manipulator is here preferred
|
||||
- Compact, 6DoF, higher control bandwidth, linear, simpler
|
||||
|
||||
- Show some example of serial and parallel manipulators
|
||||
|
||||
- A review of Stewart platform will be given in Chapter related to the detailed design of the Nano-Hexapod
|
||||
|
||||
* The Stewart platform
|
||||
:PROPERTIES:
|
||||
:HEADER-ARGS:matlab+: :tangle matlab/nhexa_1_stewart_platform.m
|
||||
:END:
|
||||
<<sec:nhexa_stewart_platform>>
|
||||
** Introduction :ignore:
|
||||
|
||||
# Most of this section is based on [[file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/kinematic-study.org][kinematic-study.org]]
|
||||
|
||||
- Some history about Stewart platforms
|
||||
- What is so special and why it is so used in different fields: give examples
|
||||
Explain advantages compared to serial architecture
|
||||
- Little review (very quick: two extreme sizes, piezo + voice coil)
|
||||
Complete review of Stewart platforms will be made in Chapter 2
|
||||
- Presentation of tools used to analyze the properties of the Stewart platform => useful for design and control
|
||||
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
@ -152,8 +343,254 @@ Goal of this report is:
|
||||
<<m-init-other>>
|
||||
#+end_src
|
||||
|
||||
** Mechanical Architecture
|
||||
<<ssec:nhexa_stewart_platform_architecture>>
|
||||
|
||||
file:~/Cloud/work-projects/ID31-NASS/matlab/stewart-simscape/org/stewart-architecture.org
|
||||
|
||||
Presentation of the typical architecture
|
||||
- Explain the different frames, etc...
|
||||
- explain key elements:
|
||||
- two plates
|
||||
- joints
|
||||
- actuators
|
||||
|
||||
Make well defined notations.
|
||||
- {F}, {M}
|
||||
- si, li, ai, bi, etc.
|
||||
|
||||
- [ ] Make figure with defined frames, joints, etc...
|
||||
Maybe can use this figure as an example:
|
||||
[[file:/home/thomas/Cloud/work-projects/ID31-NASS/phd-thesis-chapters/A0-nass-introduction/figs/introduction_stewart_du14.svg]]
|
||||
|
||||
** Kinematic Analysis
|
||||
<<ssec:nhexa_stewart_platform_kinematics>>
|
||||
*** Inverse Kinematics
|
||||
|
||||
*** Forward Kinematics
|
||||
|
||||
*** Jacobian Matrix
|
||||
|
||||
- Velocity Loop Closure
|
||||
- Static Forces
|
||||
|
||||
*** Singularities
|
||||
|
||||
- Briefly mention singularities, and say that for small stroke, it is not an issue, the Jacobian matrix may be considered constant
|
||||
|
||||
** Static Analysis
|
||||
<<ssec:nhexa_stewart_platform_static>>
|
||||
|
||||
How stiffness varies with orientation of struts.
|
||||
Same with stroke?
|
||||
Or maybe in the detailed chapter?
|
||||
|
||||
** Dynamic Analysis
|
||||
<<ssec:nhexa_stewart_platform_dynamics>>
|
||||
|
||||
Very complex => multi-body model
|
||||
For instance, compute the plant for massless struts and perfect joints (will be compared with Simscape model).
|
||||
But say that if we want to model more complex cases, it becomes impractical (cite papers).
|
||||
|
||||
** Conclusion
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
|
||||
All depends on the geometry.
|
||||
Reasonable choice of geometry is made in chapter 1.
|
||||
Optimization of the geometry will be made in chapter 2.
|
||||
|
||||
* Multi-Body Model
|
||||
:PROPERTIES:
|
||||
:HEADER-ARGS:matlab+: :tangle matlab/nhexa_2_model.m
|
||||
:END:
|
||||
<<sec:nhexa_model>>
|
||||
** Introduction :ignore:
|
||||
|
||||
*Goal*:
|
||||
- Study the dynamics of Stewart platform
|
||||
- Instead of working with complex analytical models: a multi-body model is used.
|
||||
Complex because has to model the inertia of the struts.
|
||||
Cite papers that tries to model the stewart platform analytically
|
||||
Advantage: it will be easily included in the model of the NASS
|
||||
|
||||
- Mention the Toolbox (maybe make a DOI for that)
|
||||
|
||||
- [ ] Have a table somewhere that summarizes the main characteristics of the nano-hexapod model
|
||||
- location of joints
|
||||
- size / mass of platforms, etc...
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :noweb yes
|
||||
<<m-init-path>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :eval no :noweb yes
|
||||
<<m-init-path-tangle>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :noweb yes
|
||||
<<m-init-other>>
|
||||
#+end_src
|
||||
|
||||
** Model Definition
|
||||
<<ssec:nhexa_model_def>>
|
||||
|
||||
- [ ] Make a schematic of the definition process (for instance knowing the ai, bi points + {A} and {B} allows to compute Jacobian, etc...)
|
||||
|
||||
- What is important for the model:
|
||||
- Inertia of plates and struts
|
||||
- Positions of joints / Orientation of struts
|
||||
- Definition of frames (for Jacobian, stiffness analysis, etc...)
|
||||
|
||||
Then, several things can be computed:
|
||||
- Kinematics, stiffness, platform mobility, dynamics, etc...
|
||||
|
||||
|
||||
- Joints: can be 2dof to 6dof
|
||||
- Actuators: can be modelled as wanted
|
||||
|
||||
** Nano Hexapod
|
||||
<<ssec:nhexa_model_nano_hexapod>>
|
||||
|
||||
Start simple:
|
||||
- Perfect joints, massless actuators
|
||||
|
||||
Joints: perfect 2dof/3dof (+ mass-less)
|
||||
Actuators: APA + Encoder (mass-less)
|
||||
- k = 1N/um
|
||||
- Force sensor
|
||||
|
||||
Definition of each part + Plant with defined inputs/outputs (force sensor, relative displacement sensor, etc...)
|
||||
|
||||
** Model Dynamics
|
||||
<<ssec:nhexa_model_dynamics>>
|
||||
|
||||
- If all is perfect (mass-less struts, perfect joints, etc...), maybe compare analytical model with simscape model?
|
||||
- Say something about the model order
|
||||
Model order is 12, and that we can compute modes from matrices M and K, compare with the Simscape model
|
||||
- Compare with analytical formulas (see number of states)
|
||||
|
||||
** Conclusion
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
|
||||
- Validation of multi-body model in a simple case
|
||||
- Possible to increase the model complexity when required
|
||||
- If considered 6dof joint stiffness, model order increases
|
||||
- Can have an effect on IFF performances: [[cite:&preumont07_six_axis_singl_stage_activ]]
|
||||
- Conclusion: during the conceptual design, we consider a perfect, but will be taken into account later
|
||||
- Optimization of the Flexible joint will be performed in Chapter 2.2
|
||||
- MIMO system: how to control? => next section
|
||||
|
||||
* Control of Stewart Platforms
|
||||
:PROPERTIES:
|
||||
:HEADER-ARGS:matlab+: :tangle matlab/nhexa_3_control.m
|
||||
:END:
|
||||
<<sec:nhexa_control>>
|
||||
** Introduction :ignore:
|
||||
|
||||
MIMO control: much more complex than SISO control because of interaction.
|
||||
Possible to ignore interaction when good decoupling is achieved.
|
||||
Important to have tools to study interaction
|
||||
Different ways to try to decouple a MIMO plant.
|
||||
|
||||
Reference book: [[cite:&skogestad07_multiv_feedb_contr]]
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no :noweb yes
|
||||
<<m-init-path>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :eval no :noweb yes
|
||||
<<m-init-path-tangle>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :noweb yes
|
||||
<<m-init-other>>
|
||||
#+end_src
|
||||
|
||||
** Centralized and Decentralized Control
|
||||
<<ssec:nhexa_control_centralized_decentralized>>
|
||||
|
||||
- Explain what is centralized and decentralized:
|
||||
- linked to the sensor position relative to the actuators
|
||||
- linked to the fact that sensors and actuators pairs are "independent" or each other (related to the control architecture, not because there is no coupling)
|
||||
- When can decentralized control be used and when centralized control is necessary?
|
||||
Study of interaction: RGA
|
||||
|
||||
** Choice of the control space
|
||||
<<ssec:nhexa_control_space>>
|
||||
|
||||
- [ ] file:~/Cloud/research/matlab/decoupling-strategies/svd-control.org
|
||||
|
||||
- Jacobian matrices, CoK, CoM, control in the frame of the struts, SVD, Modal, ...
|
||||
- Combined CoM and CoK => Discussion of cubic architecture ? (quick, as it is going to be in detailed in chapter 2)
|
||||
- Explain also the link with the setpoint: it is interesting to have the controller in the frame of the performance variables
|
||||
Also speak about disturbances? (and how disturbances can be mixed to different outputs due to control and interaction)
|
||||
- Table that summarizes the trade-off for each strategy
|
||||
- Say that in this study, we will do the control in the frame of the struts for simplicity (even though control in the cartesian frame was also tested)
|
||||
|
||||
** Active Damping with Decentralized IFF
|
||||
<<ssec:nhexa_control_iff>>
|
||||
|
||||
Guaranteed stability: [[cite:&preumont08_trans_zeros_struc_contr_with]]
|
||||
- [ ] I think there is another paper about that
|
||||
|
||||
For decentralized control: "MIMO root locus" can be used to estimate the damping / optimal gain
|
||||
Poles and converging towards /transmission zeros/
|
||||
|
||||
How to optimize the added damping to all modes?
|
||||
- [ ] Add some papers citations
|
||||
|
||||
Compute:
|
||||
- [ ] Plant dynamics
|
||||
- [ ] Root Locus
|
||||
|
||||
** MIMO High-Authority Control - Low-Authority Control
|
||||
<<ssec:nhexa_control_hac_lac>>
|
||||
|
||||
Compute:
|
||||
- [ ] compare open-loop and damped plant (outputs are the encoders)
|
||||
- [ ] Implement decentralized control?
|
||||
- [ ] Check stability:
|
||||
- Characteristic Loci: Eigenvalues of $G(j\omega)$ plotted in the complex plane
|
||||
- Generalized Nyquist Criterion: If $G(s)$ has $p_0$ unstable poles, then the closed-loop system with return ratio $kG(s)$ is stable if and only if the characteristic loci of $kG(s)$, taken together, encircle the point $-1$, $p_0$ times anti-clockwise, assuming there are no hidden modes
|
||||
- [ ] Show some performance metric? For instance compliance?
|
||||
|
||||
** Conclusion
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
|
||||
|
||||
* Conclusion
|
||||
<<sec:simscape_nhexapod_conclusion>>
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
<<sec:nhexa_conclusion>>
|
||||
|
||||
- Configurable Stewart platform model
|
||||
- Will be included in the multi-body model of the micro-station => nass multi body model
|
||||
- Control: complex problem, try to use simplest architecture
|
||||
|
||||
* Bibliography :ignore:
|
||||
#+latex: \printbibliography[heading=bibintoc,title={Bibliography}]
|
||||
|
Loading…
x
Reference in New Issue
Block a user