initial commit

This commit is contained in:
2024-08-05 15:59:21 +02:00
commit 964e2e95b9
18 changed files with 2932 additions and 0 deletions

1
matlab/figs-paper Symbolic link
View File

@@ -0,0 +1 @@
../paper/figs

93
matlab/index.org Normal file
View File

@@ -0,0 +1,93 @@
#+TITLE: The Nano Active Stabilization System - Results on ESRF ID31 beamline - Matlab Computation
:DRAWER:
#+HTML_LINK_HOME: ../index.html
#+HTML_LINK_UP: ../index.html
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
#+HTML_HEAD: <script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
#+BIND: org-latex-image-default-option "scale=1"
#+BIND: org-latex-bib-compiler "biber"
#+BIND: org-latex-image-default-width ""
#+LaTeX_CLASS: scrreprt
#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full]
#+LaTeX_HEADER_EXTRA: \input{preamble.tex}
#+LATEX_HEADER_EXTRA: \addbibresource{ref.bib}
#+PROPERTY: header-args:matlab :session *MATLAB*
#+PROPERTY: header-args:matlab+ :comments org
#+PROPERTY: header-args:matlab+ :exports both
#+PROPERTY: header-args:matlab+ :results none
#+PROPERTY: header-args:matlab+ :eval no-export
#+PROPERTY: header-args:matlab+ :noweb yes
#+PROPERTY: header-args:matlab+ :mkdirp yes
#+PROPERTY: header-args:matlab+ :output-dir figs
:END:
#+begin_export html
<hr>
<p>This report is also available as a <a href="./index.pdf">pdf</a>.</p>
<hr>
#+end_export
* Introduction :ignore:
# The matlab code is accessible on [[https://zenodo.org/record/3894343][Zonodo]] and [[https://github.com/tdehaeze/dehaeze20_contr_stewa_platf][Github]] cite:dehaeze20_activ_dampin_rotat_posit_platf. It can also be download as a =.zip= file [[file:matlab.zip][here]].
# To run the Matlab code, go in the =matlab= directory and run the following Matlab files corresponding to each section.
# #+caption: Paper's sections and corresponding Matlab files
# | Sections | Matlab File |
# |------------------------------------+----------------------------|
# | Section [[sec:system_description]] | =s1_system_description.m= |
# | Section [[sec:iff_pure_int]] | =s2_iff_pure_int.m= |
# | Section [[sec:iff_pseudo_int]] | =s3_iff_hpf.m= |
# | Section [[sec:iff_parallel_stiffness]] | =s4_iff_kp.m= |
# | Section [[sec:comparison]] | =s5_act_damp_comparison.m= |
* System Description and Analysis
:PROPERTIES:
:header-args:matlab+: :tangle matlab/s1_system_description.m
:END:
<<sec:system_description>>
** 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
addpath('./matlab/');
addpath('./src/');
#+end_src
* Notations
<<sec:notations>>
# | | Mathematical Notation | Matlab | Unit |
# |-----------------------------------+------------------------------+---------------+---------|
# | Actuator Stiffness | $k$ | =k= | N/m |
# | Actuator Damping | $c$ | =c= | N/(m/s) |
# | Payload Mass | $m$ | =m= | kg |
# | Damping Ratio | $\xi = \frac{c}{2\sqrt{km}}$ | =xi= | |
# | Actuator Force | $\bm{F}, F_u, F_v$ | =F= =Fu= =Fv= | N |
# | Force Sensor signal | $\bm{f}, f_u, f_v$ | =f= =fu= =fv= | N |
# | Relative Displacement | $\bm{d}, d_u, d_v$ | =d= =du= =dv= | m |
# | Resonance freq. when $\Omega = 0$ | $\omega_0$ | =w0= | rad/s |
# | Rotation Speed | $\Omega = \dot{\theta}$ | =W= | rad/s |
# | Low Pass Filter corner frequency | $\omega_i$ | =wi= | rad/s |
# | | Mathematical Notation | Matlab | Unit |
# |------------------+-----------------------+--------+---------|
# | Laplace variable | $s$ | =s= | |
# | Complex number | $j$ | =j= | |
# | Frequency | $\omega$ | =w= | [rad/s] |
* Bibliography :ignore:
# #+latex: \printbibliography
# bibliography:ref.bib

114
matlab/preamble.tex Normal file
View File

@@ -0,0 +1,114 @@
\usepackage{float}
\usepackage{caption,tabularx,booktabs}
\usepackage{biblatex}
\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}
\makeatother
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
allcolors = my-blue
}
\usepackage{hypcap}

94
matlab/ref.bib Normal file
View File

@@ -0,0 +1,94 @@
@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},
number = {nil},
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 = {},
}
@inproceedings{collette14_vibrat,
author = {Collette, C. and Matichard, F},
title = {Vibration control of flexible structures using fusion of inertial sensors and hyper-stable actuator-sensor pairs},
booktitle = {International Conference on Noise and Vibration Engineering (ISMA2014)},
year = {2014},
keywords = {},
}
@article{oomen18_advan_motion_contr_precis_mechat,
author = {Tom Oomen},
title = {Advanced Motion Control for Precision Mechatronics: Control, Identification, and Learning of Complex Systems},
journal = {IEEJ Journal of Industry Applications},
volume = {7},
number = {2},
pages = {127-140},
year = {2018},
doi = {10.1541/ieejjia.7.127},
url = {https://doi.org/10.1541/ieejjia.7.127},
}
@book{skogestad07_multiv_feedb_contr,
author = {Skogestad, Sigurd and Postlethwaite, Ian},
title = {Multivariable Feedback Control: Analysis and Design},
year = {2007},
publisher = {John Wiley},
keywords = {favorite},
}
@phdthesis{hua05_low_ligo,
author = {Hua, Wensheng},
school = {stanford university},
title = {Low frequency vibration isolation and alignment system for
advanced LIGO},
year = 2005,
}
@book{lurie12_class,
author = {Lurie, B. J},
title = {Classical feedback control : with MATLAB and Simulink},
year = 2012,
publisher = {CRC Press},
address = {Boca Raton, FL},
isbn = 9781439897461,
keywords = {favorite},
}
@techreport{bibel92_guidel_h,
author = {Bibel, John E and Malyevac, D Stephen},
institution = {NAVAL SURFACE WARFARE CENTER DAHLGREN DIV VA},
title = {Guidelines for the selection of weighting functions for
H-infinity control},
year = 1992,
keywords = {},
}
@inproceedings{dehaeze20_activ_dampin_rotat_platf_integ_force_feedb,
author = {Dehaeze, T. and Collette, C.},
title = {Active Damping of Rotating Platforms using Integral Force
Feedback},
booktitle = {Proceedings of the International Conference on Modal
Analysis Noise and Vibration Engineering (ISMA)},
year = 2020,
}
@misc{dehaeze20_activ_dampin_rotat_posit_platf,
author = {Thomas Dehaeze},
howpublished = {Source Code on Zonodo},
month = 07,
title = {Active Damping of Rotating Positioning Platforms},
url = {https://doi.org/10.5281/zenodo.3894342},
doi = {10.5281/zenodo.3894342},
year = 2020,
}
@article{dehaeze21_activ_dampin_rotat_platf_using,
author = {Thomas Dehaeze and Christophe Collette},
title = {Active Damping of Rotating Platforms Using Integral Force Feedback},
journal = {Engineering Research Express},
year = {2021},
url = {http://iopscience.iop.org/article/10.1088/2631-8695/abe803},
}