initial commit
This commit is contained in:
1
matlab/figs-paper
Symbolic link
1
matlab/figs-paper
Symbolic link
@@ -0,0 +1 @@
|
||||
../paper/figs
|
93
matlab/index.org
Normal file
93
matlab/index.org
Normal 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
114
matlab/preamble.tex
Normal 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
94
matlab/ref.bib
Normal 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},
|
||||
}
|
Reference in New Issue
Block a user