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