Compare commits

...

4 Commits

24 changed files with 2236 additions and 792 deletions

View File

@ -3,13 +3,14 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2020-11-12 jeu. 10:40 -->
<!-- 2021-02-20 sam. 14:33 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Active Damping of Rotating Platforms using Integral Force Feedback</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Thomas Dehaeze" />
<link rel="stylesheet" type="text/css" href="https://research.tdehaeze.xyz/css/style.css"/>
<script type="text/javascript" src="https://research.tdehaeze.xyz/js/script.js"></script>
<style> #content {margin: auto;} </style>
</head>
<body>
<div id="org-div-home-and-up">
@ -32,52 +33,48 @@ Guaranteed stability, typical benefit of IFF, is lost as soon as the system is r
To overcome this issue, two modifications of the classical IFF control scheme are proposed.
The first consists of slightly modifying the control law while the second consists of adding springs in parallel with the force sensors.
Conditions for stability and optimal parameters are derived.
The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on suspension modes.
The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on the suspension modes.
</p>
</blockquote>
<div id="outline-container-org8130d6a" class="outline-2">
<h2 id="org8130d6a">Paper (<a href="paper/dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org8130d6a">
<div id="outline-container-org76be656" class="outline-2">
<h2 id="org76be656">Journal Paper (<a href="journal/dehaeze21_activ_dampin_rotat_platf_using.pdf">pdf</a>)</h2>
<div class="outline-text-2" id="text-org76be656">
<p>
The paper has been created using <a href="https://orgmode.org/">Org Mode</a> (generating <a href="https://www.latex-project.org/">LaTeX</a> code) under <a href="https://www.gnu.org/software/emacs/">Emacs</a>.
</p>
</div>
</div>
<div id="outline-container-orgc3e4c1c" class="outline-2">
<h2 id="orgc3e4c1c">Matlab Scripts (<a href="matlab/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgc3e4c1c">
<p>
The Matlab scripts that permits to obtain all the results presented in the paper are accessible <a href="matlab/index.html">here</a>.
To cite this journal paper use the following bibtex code.
</p>
</div>
<div class="org-src-container">
<pre class="src src-bibtex"><span class="org-function-name">@article</span>{<span class="org-constant">dehaeze21_activ_dampin_rotat_platf_using</span>,
<span class="org-variable-name">author</span> = {Thomas Dehaeze and Christophe Collette},
<span class="org-variable-name">title</span> = {Active Damping of Rotating Platforms Using Integral Force
Feedback},
<span class="org-variable-name">journal</span> = {Engineering Research Express},
<span class="org-variable-name">year</span> = 2021,
<span class="org-variable-name">url</span> = {<span class="org-button">http://iopscience.iop.org/article/10.1088/2631-8695/abe803</span>},
}
</pre>
</div>
<div id="outline-container-orga5eb09b" class="outline-2">
<h2 id="orga5eb09b">Figures (<a href="tikz/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-orga5eb09b">
<p>
All the figures in the paper are generated using either <a href="https://sourceforge.net/projects/pgf/">TikZ</a> or <a href="https://inkscape.org/">Inkscape</a>. The code snippets that was used to generate the figures are accessible <a href="tikz/index.html">here</a>.
You can also use the formatted citation below.
</p>
</div>
</div>
<div id="outline-container-org1bbe3ba" class="outline-2">
<h2 id="org1bbe3ba">Talk (<a href="talk/talk.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-org1bbe3ba">
<iframe width="720"
height="540"
src="https://www.youtube.com/embed/F9j2-ge2FPE"
frameborder="0" allowfullscreen> </iframe>
</div>
</div>
<div id="outline-container-org40a746d" class="outline-2">
<h2 id="org40a746d">Cite this paper</h2>
<div class="outline-text-2" id="text-org40a746d">
<blockquote>
<p>
To cite this paper use the following bibtex code.
Dehaeze, T., &amp; Collette, C., Active damping of rotating platforms using integral force feedback, Engineering Research Express, (2021).
</p>
</blockquote>
</div>
</div>
<div id="outline-container-org2d99e69" class="outline-2">
<h2 id="org2d99e69">Conference Paper (<a href="paper/dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.pdf">pdf</a>)</h2>
<div class="outline-text-2" id="text-org2d99e69">
<p>
To cite this conference paper use the following bibtex code.
</p>
<div class="org-src-container">
<pre class="src src-bibtex"><span class="org-function-name">@inproceedings</span>{<span class="org-constant">dehaeze20_activ_dampin_rotat_platf_integ_force_feedb</span>,
@ -101,6 +98,34 @@ Dehaeze, T., &amp; Collette, C., Active damping of rotating platforms using inte
</blockquote>
</div>
</div>
<div id="outline-container-org6953a42" class="outline-2">
<h2 id="org6953a42">Matlab Scripts (<a href="matlab/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-org6953a42">
<p>
The Matlab scripts that permits to obtain all the results presented in the paper are accessible <a href="matlab/index.html">here</a>.
</p>
</div>
</div>
<div id="outline-container-orgf315d38" class="outline-2">
<h2 id="orgf315d38">Figures (<a href="tikz/index.html">link</a>)</h2>
<div class="outline-text-2" id="text-orgf315d38">
<p>
All the figures in the paper are generated using either <a href="https://sourceforge.net/projects/pgf/">TikZ</a> or <a href="https://inkscape.org/">Inkscape</a>. The code snippets that was used to generate the figures are accessible <a href="tikz/index.html">here</a>.
</p>
</div>
</div>
<div id="outline-container-orgef222b4" class="outline-2">
<h2 id="orgef222b4">Talk (<a href="talk/talk.pdf">link</a>)</h2>
<div class="outline-text-2" id="text-orgef222b4">
<iframe width="720"
height="540"
src="https://www.youtube.com/embed/F9j2-ge2FPE"
frameborder="0" allowfullscreen> </iframe>
</div>
</div>
</div>
</body>
</html>

View File

@ -10,6 +10,7 @@
#+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>
#+HTML_HEAD: <style> #content {margin: auto;} </style>
:END:
#+begin_quote
@ -20,15 +21,55 @@ Guaranteed stability, typical benefit of IFF, is lost as soon as the system is r
To overcome this issue, two modifications of the classical IFF control scheme are proposed.
The first consists of slightly modifying the control law while the second consists of adding springs in parallel with the force sensors.
Conditions for stability and optimal parameters are derived.
The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on suspension modes.
The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on the suspension modes.
#+end_quote
* Paper ([[file:paper/dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.pdf][link]])
* Journal Paper ([[file:journal/dehaeze21_activ_dampin_rotat_platf_using.pdf][pdf]])
:PROPERTIES:
:UNNUMBERED: t
:END:
The paper has been created using [[https://orgmode.org/][Org Mode]] (generating [[https://www.latex-project.org/][LaTeX]] code) under [[https://www.gnu.org/software/emacs/][Emacs]].
To cite this journal paper use the following bibtex code.
#+begin_src bibtex
@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},
}
#+end_src
You can also use the formatted citation below.
#+begin_quote
Dehaeze, T., & Collette, C., Active damping of rotating platforms using integral force feedback, Engineering Research Express, (2021).
#+end_quote
* Conference Paper ([[file:paper/dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.pdf][pdf]])
:PROPERTIES:
:UNNUMBERED: t
:END:
To cite this conference paper use the following bibtex code.
#+begin_src bibtex
@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,
}
#+end_src
You can also use the formatted citation below.
#+begin_quote
Dehaeze, T., & Collette, C., Active damping of rotating platforms using integral force feedback, In , Proceedings of the International Conference on Modal Analysis Noise and Vibration Engineering (ISMA) (pp. ) (2020)
#+end_quote
* Matlab Scripts ([[file:matlab/index.org][link]])
:PROPERTIES:
:UNNUMBERED: t
@ -53,23 +94,3 @@ All the figures in the paper are generated using either [[https://sourceforge.ne
frameborder="0" allowfullscreen> </iframe>
#+end_export
* Cite this paper
:PROPERTIES:
:UNNUMBERED: t
:END:
To cite this paper use the following bibtex code.
#+begin_src bibtex
@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,
}
#+end_src
You can also use the formatted citation below.
#+begin_quote
Dehaeze, T., & Collette, C., Active damping of rotating platforms using integral force feedback, In , Proceedings of the International Conference on Modal Analysis Noise and Vibration Engineering (ISMA) (pp. ) (2020)
#+end_quote

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -8,7 +8,7 @@
#+LATEX_HEADER: \expandafter\let\csname endequation*\endcsname\relax
#+LATEX_HEADER: \usepackage{capt-of, subcaption}
#+LATEX_HEADER: \usepackage{hyperref}
#+LATEX_HEADER: \usepackage[colorlinks=true, allcolors=blue]{hyperref}
#+LATEX_HEADER: \usepackage{amsmath, amssymb, amsfonts, cases, bm}
#+LATEX_HEADER: \usepackage{algorithmic, graphicx, textcomp}
#+LATEX_HEADER: \usepackage{xcolor, import}
@ -16,7 +16,8 @@
#+LATEX_HEADER: \usepackage{siunitx}
#+LATEX_HEADER: \usepackage{tikz}
#+LATEX_HEADER: \usetikzlibrary{shapes.misc,arrows,arrows.meta}
#+LATEX_HEADER: \usepackage[square,comma,sort&compress,numbers]{natbib}
#+LATEX_HEADER_EXTRA: \renewcommand{\bibsection}{\section*{References}}
:END:
* Build :noexport:
@ -42,7 +43,7 @@
\address{$^1$ Precision Mechatronics Laboratory, University of Liege, Belgium}
\address{$^2$ BEAMS Department, Free University of Brussels, Belgium}
\address{$^3$ European Synchrotron Radiation Facility, Grenoble, France}
\ead{dehaeze.thomas@gmail.com}
\ead{tdehaeze@uliege.be}
#+end_export
#+begin_export latex
@ -52,32 +53,50 @@
To overcome this issue, two modifications of the classical IFF control scheme are proposed.
The first consists of slightly modifying the control law while the second consists of adding springs in parallel with the force sensors.
Conditions for stability and optimal parameters are derived.
The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on suspension modes.
The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on the suspension modes.
\end{abstract}
\vspace{2pc}
\noindent{\it Keywords}: Active Damping, IFF
\submitto{\SMS}
\submitto{{\it Engineering Research Express\/}}
\maketitle
% \ioptwocol
% Two Columns output
\ioptwocol
#+end_export
* Introduction
<<sec:introduction>>
There is an increasing need to reduce the undesirable vibration of many sensitive equipment.
A common method to reduce vibration is to mount the sensitive equipment on a suspended platform which attenuates the vibrations above the frequency of the suspension modes.
In order to further decrease the residual vibrations, active damping can be used for reducing the magnification of the response in the vicinity of the resonances.
** Needs for sensitive equipment :ignore:
There is an increasing need to reduce the undesirable vibration of sensitive equipment in many different fields such as in aerospace industry cite:hanieh03_activ_stewar,hauge04_sensor_contr_space_based_six,souleille18_concep_activ_mount_space_applic, semi conductor industry cite:yoshioka01_activ_microv_isolat_system_hi, microscopy cite:lan08_activ_vibrat_isolat_long_range,fleming15_low_order_dampin_track_contr, gravitational wave detectors cite:matichard15_seism_isolat_advan_ligo and particles accelerators cite:collette10_activ_quadr_stabil_futur_linear_partic_collid,dehaeze18_sampl_stabil_for_tomog_exper.
In cite:preumont92_activ_dampin_by_local_force, the Integral Force Feedback (IFF) control scheme has been proposed, where a force sensor, a force actuator and an integral controller are used to directly augment the damping of a mechanical system.
A common method to reduce vibration is to mount the sensitive equipment on a suspended platform which attenuates the vibrations above the frequency of the suspension modes cite:reilly06_critic,poel10_explor_activ_hard_mount_vibrat. \par
** Use of active damping :ignore:
In order to further decrease the residual vibrations, active damping can be used for reducing the magnification of the response in the vicinity of the resonances cite:collette11_review_activ_vibrat_isolat_strat.
Many active damping techniques have been developed over the years such as Positive Position Feedback (PPF) cite:lin06_distur_atten_precis_hexap_point,fanson90_posit_posit_feedb_contr_large_space_struc, Integral Force Feedback (IFF) cite:preumont91_activ and Direct Velocity Feedback (DVF) cite:karnopp74_vibrat_contr_using_semi_activ_force_gener,serrand00_multic_feedb_contr_isolat_base_excit_vibrat,preumont02_force_feedb_versus_accel_feedb. \par
** IFF Description :ignore:
In cite:preumont92_activ_dampin_by_local_force, the IFF control scheme has been proposed, where a force sensor, a force actuator and an integral controller are used to directly augment the damping of a mechanical system.
When the force sensor is collocated with the actuator, the open-loop transfer function has alternating poles and zeros which facilitate to guarantee the stability of the closed loop system cite:preumont02_force_feedb_versus_accel_feedb.
It was latter shown that this property holds for multiple collated actuator/sensor pairs cite:preumont08_trans_zeros_struc_contr_with. \par
** Comparison of IFF with other techniques :ignore:
The main advantages of IFF over other active damping techniques are the guaranteed stability even in presence of flexible dynamics, good performances and robustness properties cite:preumont02_force_feedb_versus_accel_feedb. \par
** IFF Improvements :ignore:
Several improvements of the classical IFF have been proposed, such as adding a feed-through term to increase the achievable damping cite:teo15_optim_integ_force_feedb_activ_vibrat_contr or adding an high pass filter to recover the loss of compliance at low frequency cite:chesne16_enhan_dampin_flexib_struc_using_force_feedb.
Recently, an $\mathcal{H}_\infty$ optimization criterion has been used to derive optimal gains for the IFF controller cite:zhao19_optim_integ_force_feedb_contr. \par
** Problem with Gyroscopic effects :ignore:
However, when the platform is rotating, gyroscopic effects alter the system dynamics and IFF cannot be applied as is.
The purpose of this paper is to study how the IFF strategy can be adapted to deal with these Gyroscopic effects.
The purpose of this paper is to study how the IFF strategy can be adapted to deal with these gyroscopic effects. \par
** Paper's structure :ignore:
The paper is structured as follows.
Section ref:sec:dynamics presents a simple model of a rotating suspended platform that will be used throughout this study.
Section ref:sec:iff explains how the unconditional stability of IFF is lost due to Gyroscopic effects induced by the rotation.
Section ref:sec:iff explains how the unconditional stability of IFF is lost due to gyroscopic effects induced by the rotation.
Section ref:sec:iff_hpf suggests a simple modification of the control law such that damping can be added to the suspension modes in a robust way.
Section ref:sec:iff_kp proposes to add springs in parallel with the force sensors to regain the unconditional stability of IFF.
Section ref:sec:comparison compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.
@ -85,17 +104,17 @@ Section ref:sec:comparison compares both proposed modifications to the classical
* Dynamics of Rotating Platforms
<<sec:dynamics>>
** Model of a Rotating Platform :ignore:
In order to study how the rotation does affect the use of IFF, a model of a suspended platform on top of a rotating stage is used.
Figure ref:fig:system represents the model schematically which is the simplest in which gyroscopic forces can be studied.
In order to study how the rotation affects the use of IFF, a model of a suspended platform on top of a rotating stage is used.
Figure ref:fig:system represents a schematic of the model which is the simplest in which gyroscopic forces can be studied.
#+name: fig:system
#+caption: Schematic of the studied System
#+caption: Schematic of the studied system
#+attr_latex: :scale 0.9
[[file:figs/fig01.pdf]]
The rotating stage is supposed to be ideal, meaning it induces a perfect rotation $\theta(t) = \Omega t$ where $\Omega$ is the rotational speed in $\si{\radian\per\second}$.
The rotating stage is supposed to be ideal, meaning it induces a perfect rotation $\theta(t) = \Omega t$ where $\Omega$ is the rotational speed in $\si{\radian\per\s}$.
The suspended platform consists of two orthogonal actuators represented by three elements in parallel: a spring with a stiffness $k$ in $\si{\newton\per\meter}$, a dashpot with a damping coefficient $c$ in $\si{\newton\per\meter\second}$ and an ideal force source $F_u, F_v$.
The suspended platform consists of two orthogonal actuators each represented by three elements in parallel: a spring with a stiffness $k$ in $\si{\newton\per\meter}$, a dashpot with a damping coefficient $c$ in $\si{\newton\per(\meter\per\second)^{-1}}$ and an ideal force source $F_u, F_v$.
A payload with a mass $m$ in $\si{\kilo\gram}$, representing the sensitive equipment, is mounted on the (rotating) suspended platform.
Two reference frames are used: an inertial frame $(\vec{i}_x, \vec{i}_y, \vec{i}_z)$ and a uniform rotating frame $(\vec{i}_u, \vec{i}_v, \vec{i}_w)$ rigidly fixed on top of the rotating stage with $\vec{i}_w$ aligned with the rotation axis.
@ -110,7 +129,7 @@ To obtain the equations of motion for the system represented in Figure ref:fig:s
\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{q}_i} \right) + \frac{\partial D}{\partial \dot{q}_i} - \frac{\partial L}{\partial q_i} = Q_i
\end{equation}
with $L = T - V$ the Lagrangian, $T$ the kinetic coenergy, $V$ the potential energy, $D$ the dissipation function, and $Q_i$ the generalized force associated with the generalized variable $\begin{bmatrix}q_1 & q_2\end{bmatrix} = \begin{bmatrix}d_u & d_v\end{bmatrix}$.
The equation of motion corresponding to the constant rotation in the $(\vec{i}_x, \vec{i}_y)$ plane is disregarded as the motion is considered to be imposed by the rotation stage.
The equation of motion corresponding to the constant rotation along $\vec{i}_w$ is disregarded as this motion is considered to be imposed by the rotation stage.
#+name: eq:energy_functions_lagrange
\begin{equation}
\begin{aligned}
@ -120,32 +139,26 @@ The equation of motion corresponding to the constant rotation in the $(\vec{i}_x
\end{aligned}
\end{equation}
Substituting eqref:eq:energy_functions_lagrange into eqref:eq:lagrangian_equations for both generalized coordinates gives two coupled differential equations
Substituting Eq. eqref:eq:energy_functions_lagrange into Eq. eqref:eq:lagrangian_equations for both generalized coordinates gives two coupled differential equations eqref:eq:eom_coupled_1 and eqref:eq:eom_coupled_2.
#+name: eq:eom_coupled
\begin{subequations}
\begin{align}
m \ddot{d}_u + c \dot{d}_u + ( k - m \Omega^2 ) d_u &= F_u + 2 m \Omega \dot{d}_v \\
m \ddot{d}_v + c \dot{d}_v + ( k \underbrace{-\,m \Omega^2}_{\text{Centrif.}} ) d_v &= F_v \underbrace{-\,2 m \Omega \dot{d}_u}_{\text{Coriolis}}
m \ddot{d}_u + c \dot{d}_u + ( k - m \Omega^2 ) d_u &= F_u + 2 m \Omega \dot{d}_v \label{eq:eom_coupled_1} \\
m \ddot{d}_v + c \dot{d}_v + ( k \underbrace{-\,m \Omega^2}_{\text{Centrif.}} ) d_v &= F_v \underbrace{-\,2 m \Omega \dot{d}_u}_{\text{Coriolis}} \label{eq:eom_coupled_2}
\end{align}
\end{subequations}
The uniform rotation of the system induces two Gyroscopic effects as shown in eqref:eq:eom_coupled:
- Centrifugal forces: that can been seen as added negative stiffness $- m \Omega^2$ along $\vec{i}_u$ and $\vec{i}_v$
- Coriolis Forces: that couples the motion in the two orthogonal directions
The uniform rotation of the system induces two gyroscopic effects as shown in Eq. eqref:eq:eom_coupled:
- Centrifugal forces: that can been seen as an added negative stiffness $- m \Omega^2$ along $\vec{i}_u$ and $\vec{i}_v$
- Coriolis Forces: that adds coupling between the two orthogonal directions.
One can verify that without rotation ($\Omega = 0$) the system becomes equivalent to two uncoupled one degree of freedom mass-spring-damper systems:
#+name: eq:oem_no_rotation
\begin{subequations}
\begin{align}
m \ddot{d}_u + c \dot{d}_u + k d_u &= F_u \\
m \ddot{d}_v + c \dot{d}_v + k d_v &= F_v
\end{align}
\end{subequations}
One can verify that without rotation ($\Omega = 0$) the system becomes equivalent to two uncoupled one degree of freedom mass-spring-damper systems.
#+latex: \par
** Transfer Functions in the Laplace domain :ignore:
To study the dynamics of the system, the differential equations of motions eqref:eq:eom_coupled are transformed in the Laplace domain and the $2 \times 2$ transfer function matrix $\mathbf{G}_d$ from $\begin{bmatrix}F_u & F_v\end{bmatrix}$ to $\begin{bmatrix}d_u & d_v\end{bmatrix}$ is obtained.
To study the dynamics of the system, the differential equations of motions eqref:eq:eom_coupled are converted into the Laplace domain and the $2 \times 2$ transfer function matrix $\mathbf{G}_d$ from $\begin{bmatrix}F_u & F_v\end{bmatrix}$ to $\begin{bmatrix}d_u & d_v\end{bmatrix}$ in Eq. eqref:eq:Gd_mimo_tf is obtained.
Its elements are shown in Eq. eqref:eq:Gd_indiv_el.
#+name: eq:Gd_mimo_tf
\begin{equation}
@ -153,26 +166,28 @@ To study the dynamics of the system, the differential equations of motions eqref
\end{equation}
#+name: eq:Gd_indiv_el
\begin{subequations}
\begin{align}
\mathbf{G}_{d}(1,1) &= {\frac{ms^2 + cs + k - m \Omega^2}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2}} \\
&= \mathbf{G}_{d}(2,2) \nonumber \\
\mathbf{G}_{d}(1,2) &= {\frac{2 m \Omega s}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2}} \\
&= -\mathbf{G}_{d}(1,2) \nonumber
& \mathbf{G}_{d}(1,1) = \mathbf{G}_{d}(2,2) = \dots \nonumber \\
& \quad {\frac{ms^2 + cs + k - m \Omega^2}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2}} \\
& \mathbf{G}_{d}(1,2) = -\mathbf{G}_{d}(1,2) = \dots \nonumber \\
& \quad {\frac{2 m \Omega s}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2}}
\end{align}
\end{subequations}
To simplify the analysis, the undamped natural frequency $\omega_0$ and the damping ratio $\xi$ are used
To simplify the analysis, the undamped natural frequency $\omega_0$ and the damping ratio $\xi$ are used as in Eq. eqref:eq:xi_and_omega.
#+name: eq:xi_and_omega
\begin{equation}
\omega_0 = \sqrt{\frac{k}{m}} \text{ in } \si{\radian\per\second}, \quad \xi = \frac{c}{2 \sqrt{k m}}
\end{equation}
The transfer function matrix $\mathbf{G}_d$ becomes equal to
The elements of transfer function matrix $\mathbf{G}_d$ are now describe by Eq. eqref:eq:Gd_w0_xi_k.
#+name: eq:Gd_w0_xi_k
\begin{subequations}
\begin{align}
\mathbf{G}_{d}(1,1) &= {\scriptstyle \frac{\frac{1}{k} \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \\
\mathbf{G}_{d}(1,2) &= {\scriptstyle \frac{\frac{1}{k} \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} }
\mathbf{G}_{d}(1,1) &= {\scriptstyle \frac{\frac{1}{k} \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}} \\
\mathbf{G}_{d}(1,2) &= {\scriptstyle \frac{\frac{1}{k} \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}}
\end{align}
\end{subequations}
@ -182,14 +197,14 @@ Even though no system with such parameters will be encountered in practice, conc
#+latex: \par
** System Dynamics and Campbell Diagram :ignore:
The poles of $\mathbf{G}_d$ are the complex solutions $p$ of eqref:eq:poles.
The poles of $\mathbf{G}_d$ are the complex solutions $p$ of Eq. eqref:eq:poles.
#+name: eq:poles
\begin{equation}
\left( \frac{p^2}{{\omega_0}^2} + 2 \xi \frac{p}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{p}{\omega_0} \right)^2 = 0
\end{equation}
Supposing small damping ($\xi \ll 1$), two pairs of complex conjugate poles are obtained eqref:eq:pole_values.
Supposing small damping ($\xi \ll 1$), two pairs of complex conjugate poles are obtained as shown in Eq. eqref:eq:pole_values.
#+name: eq:pole_values
\begin{subequations}
@ -199,26 +214,26 @@ Supposing small damping ($\xi \ll 1$), two pairs of complex conjugate poles are
\end{align}
\end{subequations}
The real part and complex part of these two pairs of complex conjugate poles are represented in Figure ref:fig:campbell_diagram as a function of the rotational speed $\Omega$.
As the rotational speed increases, $p_{+}$ goes to higher frequencies and $p_{-}$ to lower frequencies.
The real and complex parts of these two pairs of complex conjugate poles are represented in Figure ref:fig:campbell_diagram as a function of the rotational speed $\Omega$.
As the rotational speed increases, $p_{+}$ goes to higher frequencies and $p_{-}$ goes to lower frequencies.
The system becomes unstable for $\Omega > \omega_0$ as the real part of $p_{-}$ is positive.
Physically, the negative stiffness term $-m\Omega^2$ induced by centrifugal forces exceeds the spring stiffness $k$.
In the rest of this study, rotational speeds smaller than the undamped natural frequency of the system are assumed ($\Omega < \omega_0$).
#+name: fig:campbell_diagram
#+caption: Campbell Diagram : Evolution of the complex and real parts of the system's poles as a function of the rotational speed $\Omega$
#+caption: Campbell diagram : Evolution of the complex and real parts of the system's poles as a function of the rotational speed $\Omega$
#+attr_latex: :environment subfigure :width 0.48\linewidth :align c
| file:figs/fig02a.pdf | file:figs/fig02b.pdf |
| <<fig:campbell_diagram_real>> Real Part | <<fig:campbell_diagram_imag>> Imaginary Part |
Looking at the transfer function matrix $\mathbf{G}_d$ in eqref:eq:Gd_w0_xi_k, one can see that the two diagonal (direct) terms are equal and the two off-diagonal (coupling) terms are opposite.
Looking at the transfer function matrix $\mathbf{G}_d$ in Eq. eqref:eq:Gd_w0_xi_k, one can see that the two diagonal (direct) terms are equal and that the two off-diagonal (coupling) terms are opposite.
The bode plot of these two terms are shown in Figure ref:fig:plant_compare_rotating_speed for several rotational speeds $\Omega$.
These plots confirm the expected behavior: the frequency of the two pairs of complex conjugate poles are further separated as $\Omega$ increases.
For $\Omega > \omega_0$, the low frequency pair of complex conjugate poles $p_{-}$ becomes unstable.
#+name: fig:plant_compare_rotating_speed
#+caption: Bode Plots for $\mathbf{G}_d$ for several rotational speed $\Omega$
#+caption: Bode plots for $\mathbf{G}_d$ for several rotational speed $\Omega$
#+attr_latex: :environment subfigure :width 0.48\linewidth :align c
| file:figs/fig03a.pdf | file:figs/fig03b.pdf |
| <<fig:plant_compare_rotating_speed_direct>> Direct Terms | <<fig:plant_compare_rotating_speed_coupling>> Coupling Terms |
@ -226,24 +241,24 @@ For $\Omega > \omega_0$, the low frequency pair of complex conjugate poles $p_{-
* Decentralized Integral Force Feedback
<<sec:iff>>
** Force Sensors and Control Architecture :ignore:
In order to apply IFF to the system, force sensors are added in series with the two actuators (Figure ref:fig:system_iff).
In order to apply IFF to the rotating system, force sensors are added in series with the two actuators (Figure ref:fig:system_iff).
As this study focuses on decentralized control, two identical controllers $K_F$ are used to feedback each of the sensed force to its associated actuator and no attempt is made to counteract the interactions in the system.
The control diagram is schematically shown in Figure ref:fig:control_diagram_iff.
#+name: fig:system_iff
#+caption: System with added Force Sensor in series with the actuators
#+caption: System with added force sensor in series with the actuators and with a decentralized IFF architecture
#+attr_latex: :scale 0.9
[[file:figs/fig04.pdf]]
#+name: fig:control_diagram_iff
#+caption: Control Diagram for decentralized IFF
#+caption: Control diagram for decentralized IFF
#+attr_latex: :scale 1
[[file:figs/fig05.pdf]]
#+latex: \par
** Plant Dynamics :ignore:
The forces $\begin{bmatrix}f_u & f_v\end{bmatrix}$ measured by the two force sensors represented in Figure ref:fig:system_iff are equal to
The forces $\begin{bmatrix}f_u & f_v\end{bmatrix}$ measured by the two force sensors represented in Figure ref:fig:system_iff are described by Eq. eqref:eq:measured_force.
#+name: eq:measured_force
\begin{equation}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} =
@ -251,21 +266,26 @@ The forces $\begin{bmatrix}f_u & f_v\end{bmatrix}$ measured by the two force sen
\begin{bmatrix} d_u \\ d_v \end{bmatrix}
\end{equation}
Inserting eqref:eq:Gd_w0_xi_k into eqref:eq:measured_force yields
The transfer function matrix $\mathbf{G}_{f}$ from actuator forces to measured forces in Eq. eqref:eq:Gf_mimo_tf can be obtained by inserting Eq. eqref:eq:Gd_w0_xi_k into Eq. eqref:eq:measured_force.
Its elements are shown in Eq. eqref:eq:Gf_indiv_el.
#+name: eq:Gf_mimo_tf
\begin{equation}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} = \mathbf{G}_{f} \begin{bmatrix} F_u \\ F_v \end{bmatrix}
\end{equation}
#+name: eq:Gf_indiv_el
\begin{subequations}
\label{eq:Gf}
\begin{align}
\mathbf{G}_{f}(1,1) &= {\scriptstyle \frac{\left( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} \right) \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right) + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \\
\mathbf{G}_{f}(1,2) &= {\scriptstyle \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} }
& \mathbf{G}_{f}(1,1) = \mathbf{G}_{f}(2,2) = \dots \nonumber \\
& \quad {\scriptstyle \frac{\left( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} \right) \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right) + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \label{eq:Gf_diag_tf} \\
& \mathbf{G}_{f}(1,2) = -\mathbf{G}_{f}(2,1) = \dots \nonumber \\
& \quad {\scriptstyle \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \label{eq:Gf_off_diag_tf}
\end{align}
\end{subequations}
The zeros of the diagonal terms of $\mathbf{G}_f$ are equal to (neglecting the damping for simplicity)
The zeros of the diagonal terms of $\mathbf{G}_f$ in Eq. eqref:eq:Gf_diag_tf are computed, and neglecting the damping for simplicity, two complex conjugated poles $z_{c}$ are obtained in Eq. eqref:eq:iff_zero_cc, and two real zeros $z_{r}$ in Eq. eqref:eq:iff_zero_real.
\begin{subequations}
\begin{align}
z_c &= \pm j \omega_0 \sqrt{\frac{1}{2} \sqrt{8 \frac{\Omega^2}{{\omega_0}^2} + 1} + \frac{\Omega^2}{{\omega_0}^2} + \frac{1}{2} } \label{eq:iff_zero_cc} \\
@ -273,12 +293,12 @@ The zeros of the diagonal terms of $\mathbf{G}_f$ are equal to (neglecting the d
\end{align}
\end{subequations}
The frequency of the pair of complex conjugate zeros $z_c$ eqref:eq:iff_zero_cc always lies between the frequency of the two pairs of complex conjugate poles $p_{-}$ and $p_{+}$ eqref:eq:pole_values.
It is interesting to see that the frequency of the pair of complex conjugate zeros $z_c$ in Eq. eqref:eq:iff_zero_cc always lies between the frequency of the two pairs of complex conjugate poles $p_{-}$ and $p_{+}$ in Eq. eqref:eq:pole_values.
For non-null rotational speeds, two real zeros $z_r$ eqref:eq:iff_zero_real appear in the diagonal terms inducing a non-minimum phase behavior.
For non-null rotational speeds, the two real zeros $z_r$ in Eq. eqref:eq:iff_zero_real induce a non-minimum phase behavior.
This can be seen in the Bode plot of the diagonal terms (Figure ref:fig:plant_iff_compare_rotating_speed) where the low frequency gain is no longer zero while the phase stays at $\SI{180}{\degree}$.
The low frequency gain of $\mathbf{G}_f$ increases with the rotational speed $\Omega$
The low frequency gain of $\mathbf{G}_f$ increases with the rotational speed $\Omega$ as shown in Eq. eqref:eq:low_freq_gain_iff_plan.
#+name: eq:low_freq_gain_iff_plan
\begin{equation}
\lim_{\omega \to 0} \left| \mathbf{G}_f (j\omega) \right| = \begin{bmatrix}
@ -298,32 +318,31 @@ This can be explained as follows: a constant force $F_u$ induces a small displac
** Decentralized Integral Force Feedback with Pure Integrators :ignore:
<<sec:iff_pure_int>>
The two IFF controllers $K_F$ consist of a pure integrator
The two IFF controllers $K_{F}$ consist of a pure integrator as shown in Eq. eqref:eq:Kf_pure_int where $g$ is a scalar representing the gain of the controller.
#+name: eq:Kf_pure_int
\begin{equation}
\begin{aligned}
\mathbf{K}_F(s) &= \begin{bmatrix} K_F(s) & 0 \\ 0 & K_F(s) \end{bmatrix} \\
K_F(s) &= g \cdot \frac{1}{s}
\mathbf{K}_{F}(s) &= \begin{bmatrix} K_{F}(s) & 0 \\ 0 & K_{F}(s) \end{bmatrix} \\
K_{F}(s) &= g \cdot \frac{1}{s}
\end{aligned}
\end{equation}
where $g$ is a scalar representing the gain of the controller.
In order to see how the IFF affects the poles of the closed loop system, a Root Locus plot (Figure ref:fig:root_locus_pure_iff) is constructed as follows: the poles of the closed-loop system are drawn in the complex plane as the controller gain $g$ varies from $0$ to $\infty$ for the two controllers $K_F$ simultaneously.
In order to see how the IFF controller affects the poles of the closed loop system, a Root Locus plot (Figure ref:fig:root_locus_pure_iff) is constructed as follows: the poles of the closed-loop system are drawn in the complex plane as the controller gain $g$ varies from $0$ to $\infty$ for the two controllers $K_{F}$ simultaneously.
As explained in cite:preumont08_trans_zeros_struc_contr_with,skogestad07_multiv_feedb_contr, the closed-loop poles start at the open-loop poles (shown by $\tikz[baseline=-0.6ex] \node[cross out, draw=black, minimum size=1ex, line width=2pt, inner sep=0pt, outer sep=0pt] at (0, 0){};$) for $g = 0$ and coincide with the transmission zeros (shown by $\tikz[baseline=-0.6ex] \draw[line width=2pt, inner sep=0pt, outer sep=0pt] (0,0) circle[radius=3pt];$) as $g \to \infty$.
The direction of increasing gain is indicated by arrows $\tikz[baseline=-0.6ex] \draw[-{Stealth[round]},line width=2pt] (0,0) -- (0.3,0);$.
#+name: fig:root_locus_pure_iff
#+caption: Root Locus: evolution of the closed-loop poles with increasing controller gains $g$
#+caption: Root Locus: Evolution of the closed-loop poles with increasing controller gains $g$
#+attr_latex: :scale 1
[[file:figs/fig07.pdf]]
Whereas collocated IFF is usually associated with unconditional stability cite:preumont91_activ, this property is lost as soon as the rotational speed in non-null due to gyroscopic effects.
This can be seen in the Root Locus plot (Figure ref:fig:root_locus_pure_iff) where the poles corresponding to the controller are bound to the right half plane implying closed-loop system instability.
Whereas collocated IFF is usually associated with unconditional stability cite:preumont91_activ, this property is lost due to gyroscopic effects as soon as the rotational speed in non-null.
This can be seen in the Root Locus plot (Figure ref:fig:root_locus_pure_iff) where poles corresponding to the controller are bound to the right half plane implying closed-loop system instability.
Physically, this can be explain like so: at low frequency, the loop gain is very large due to the pure integrators in $K_F$.
Physically, this can be explained like so: at low frequency, the loop gain is very large due to the pure integrator in $K_{F}$ and the finite gain of the plant (Figure ref:fig:plant_iff_compare_rotating_speed).
The control system is thus canceling the spring forces which makes the suspended platform no able to hold the payload against centrifugal forces, hence the instability.
In order to apply decentralized IFF on rotating platforms, two solutions are proposed to deal with this instability problem.
In order to apply decentralized IFF to rotating platforms, two solutions are proposed to deal with this instability problem.
The first one consists of slightly modifying the control law (Section ref:sec:iff_hpf) while the second one consists of adding springs in parallel with the force sensors (Section ref:sec:iff_kp).
* Integral Force Feedback with High Pass Filter
@ -331,15 +350,16 @@ The first one consists of slightly modifying the control law (Section ref:sec:if
** Modification of the Control Law :ignore:
As was explained in the previous section, the instability comes in part from the high gain at low frequency caused by the pure integrators.
In order to limit this low frequency controller gain, an high pass filter (HPF) can be added to the controller
In order to limit the low frequency controller gain, an High Pass Filter (HPF) can be added to the controller as shown in Eq. eqref:eq:IFF_LHF.
#+name: eq:IFF_LHF
\begin{equation}
K_{F}(s) = g \cdot \frac{1}{s} \cdot \underbrace{\frac{s/\omega_i}{1 + s/\omega_i}}_{\text{HPF}} = g \cdot \frac{1}{s + \omega_i}
\end{equation}
This is equivalent to slightly shifting the controller pole to the left along the real axis.
This is equivalent as to slightly shifting the controller pole to the left along the real axis.
This modification of the IFF controller is typically done to avoid saturation associated with the pure integrator cite:preumont91_activ.
This modification of the IFF controller is typically done to avoid saturation associated with the pure integrator cite:preumont91_activ,marneffe07_activ_passiv_vibrat_isolat_dampin_shunt_trans.
This is however not the case in this study as it will become clear in the next section.
#+latex: \par
@ -348,13 +368,15 @@ This is however not the case in this study as it will become clear in the next s
The loop gains, $K_F(s)$ times the direct dynamics $f_u/F_u$, with and without the added HPF are shown in Figure ref:fig:loop_gain_modified_iff.
The effect of the added HPF limits the low frequency gain as expected.
The Root Loci for the decentralized IFF with and without the HPF are displayed in Figure ref:fig:root_locus_modified_iff.
With the added HPF, the poles of the closed loop system are shown to be stable up to some value of the gain $g_\text{max}$
The Root Locus plots for the decentralized IFF with and without the HPF are displayed in Figure ref:fig:root_locus_modified_iff.
With the added HPF, the poles of the closed loop system are shown to be stable up to some value of the gain $g_\text{max}$ in Eq. eqref:eq:gmax_iff_hpf.
#+name: eq:gmax_iff_hpf
\begin{equation}
g_{\text{max}} = \omega_i \left( \frac{{\omega_0}^2}{\Omega^2} - 1 \right)
\end{equation}
It is interesting to note that $g_{\text{max}}$ also corresponds to the gain where the low frequency loop gain (Figure ref:fig:loop_gain_modified_iff) reaches one.
It is interesting to note that $g_{\text{max}}$ also corresponds to the controller gain at which the low frequency loop gain (Figure ref:fig:loop_gain_modified_iff) reaches one.
#+name: fig:loop_gain_modified_iff
#+caption: Modification of the loop gain with the added HFP, $g = 2$, $\omega_i = 0.1 \omega_0$ and $\Omega = 0.1 \omega_0$
@ -369,11 +391,11 @@ It is interesting to note that $g_{\text{max}}$ also corresponds to the gain whe
#+latex: \par
** Optimal Control Parameters :ignore:
Two parameters can be tuned for the modified controller eqref:eq:IFF_LHF: the gain $g$ and the pole's location $\omega_i$.
Two parameters can be tuned for the modified controller in Eq. eqref:eq:IFF_LHF: the gain $g$ and the pole's location $\omega_i$.
The optimal values of $\omega_i$ and $g$ are here considered as the values for which the damping of all the closed-loop poles are simultaneously maximized.
In order to visualize how $\omega_i$ does affect the attainable damping, the Root Loci for several $\omega_i$ are displayed in Figure ref:fig:root_locus_wi_modified_iff.
It is shown that even though small $\omega_i$ seem to allow more damping to be added to the suspension modes, the control gain $g$ may be limited to small values due to eqref:eq:gmax_iff_hpf.
In order to visualize how $\omega_i$ does affect the attainable damping, the Root Locus plots for several $\omega_i$ are displayed in Figure ref:fig:root_locus_wi_modified_iff.
It is shown that even though small $\omega_i$ seem to allow more damping to be added to the suspension modes, the control gain $g$ may be limited to small values due to Eq. eqref:eq:gmax_iff_hpf.
#+name: fig:root_locus_wi_modified_iff
#+caption: Root Locus for several HPF cut-off frequencies $\omega_i$, $\Omega = 0.1 \omega_0$
@ -391,33 +413,27 @@ The gain $g_{\text{opt}}$ at which this maximum damping is obtained is also disp
Three regions can be observed:
- $\omega_i/\omega_0 < 0.02$: the added damping is limited by the maximum allowed control gain $g_{\text{max}}$
- $0.02 < \omega_i/\omega_0 < 0.2$: the attainable damping ratio is maximized and is reached for $g \approx 2$
- $0.2 < \omega_i/\omega_0$: the added damping decreases as $\omega_i/\omega_0$ increases
- $0.2 < \omega_i/\omega_0$: the added damping decreases as $\omega_i/\omega_0$ increases.
* Integral Force Feedback with Parallel Springs
<<sec:iff_kp>>
** Stiffness in Parallel with the Force Sensor :ignore:
In this section additional springs in parallel with the force sensors are added to counteract the negative stiffness induced by the rotation.
In this section additional springs in parallel with the force sensors are added to counteract the negative stiffness induced by the gyroscopic effects.
Such springs are schematically shown in Figure ref:fig:system_parallel_springs where $k_a$ is the stiffness of the actuator and $k_p$ the stiffness in parallel with the actuator and force sensor.
Amplified piezoelectric stack actuators can also be used for such purpose where a part of the piezoelectric stack is used as an actuator while the rest is used as a force sensor cite:souleille18_concep_activ_mount_space_applic.
The parallel stiffness $k_p$ then corresponds to the amplification structure.
An example of such system is shown in Figure ref:fig:cedrat_xy25xs.
Amplified piezoelectric stack actuators can be used for such purpose where a part of the piezoelectric stack is used as an actuator while the rest is used as a force sensor cite:souleille18_concep_activ_mount_space_applic.
The parallel stiffness $k_p$ then corresponds to the mechanical amplification structure.
#+name: fig:system_parallel_springs
#+caption: Studied system with additional springs in parallel with the actuators and force sensors
#+attr_latex: :scale 0.9
[[file:figs/fig12.pdf]]
#+name: fig:cedrat_xy25xs
#+caption: XY Piezoelectric Stage (XY25XS from Cedrat Technology)
#+attr_latex: :scale 0.17
[[file:figs/fig13.pdf]]
#+latex: \par
** Effect of the Parallel Stiffness on the Plant Dynamics :ignore:
The forces $\begin{bmatrix}f_u & f_v\end{bmatrix}$ measured by the two force sensors represented in Figure ref:fig:system_parallel_springs are equal to
The forces measured by the two force sensors represented in Figure ref:fig:system_parallel_springs are described by Eq. eqref:eq:measured_force_kp.
#+name: eq:measured_force_kp
\begin{equation}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} =
@ -425,12 +441,16 @@ The forces $\begin{bmatrix}f_u & f_v\end{bmatrix}$ measured by the two force sen
\begin{bmatrix} d_u \\ d_v \end{bmatrix}
\end{equation}
In order to keep the overall stiffness $k = k_a + k_p$ constant, thus not modifying the open-loop poles as $k_p$ is changed, a scalar parameter $\alpha$ ($0 \le \alpha < 1$) is defined to describe the fraction of the total stiffness in parallel with the actuator and force sensor
In order to keep the overall stiffness $k = k_a + k_p$ constant, thus not modifying the open-loop poles as $k_p$ is changed, a scalar parameter $\alpha$ ($0 \le \alpha < 1$) is defined to describe the fraction of the total stiffness in parallel with the actuator and force sensor as in Eq. eqref:eq:kp_alpha.
#+name: eq:kp_alpha
\begin{equation}
k_p = \alpha k, \quad k_a = (1 - \alpha) k
\end{equation}
The equations of motion are derived and transformed in the Laplace domain
After the equations of motion derived and transformed in the Laplace domain, the transfer function matrix $\mathbf{G}_k$ in Eq. eqref:eq:Gk_mimo_tf is computed.
Its elements are shown in Eq. eqref:eq:Gk_diag and eqref:eq:Gk_off_diag.
#+name: eq:Gk_mimo_tf
\begin{equation}
\begin{bmatrix} f_u \\ f_v \end{bmatrix} =
@ -441,74 +461,77 @@ The equations of motion are derived and transformed in the Laplace domain
#+name: eq:Gk
\begin{subequations}
\begin{align}
& \mathbf{G}_{k}(1,1) = \dots \nonumber \\
& {\scriptstyle \frac{\big( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} + \alpha \big) \big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big) + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2}{\big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big)^2 + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2} } \\
& \mathbf{G}_{k}(1,2) = {\scriptscriptstyle \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 - \alpha \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} }
& \mathbf{G}_{k}(1,1) = \mathbf{G}_{k}(2,2) = \dots \nonumber \\
& \quad {\scriptstyle \frac{\big( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} + \alpha \big) \big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big) + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2}{\big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big)^2 + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2} } \label{eq:Gk_diag} \\
& \mathbf{G}_{k}(1,2) = -\mathbf{G}_{k}(2,1) = \dots \nonumber \\
& \quad {\scriptscriptstyle \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 - \alpha \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \label{eq:Gk_off_diag}
\end{align}
\end{subequations}
Comparing $\mathbf{G}_k$ eqref:eq:Gk with $\mathbf{G}_f$ eqref:eq:Gf shows that while the poles of the system are kept the same, the zeros of the diagonal terms have changed.
The two real zeros $z_r$ eqref:eq:iff_zero_real that were inducing non-minimum phase behavior are transformed into complex conjugate zeros if the following condition hold
Comparing $\mathbf{G}_k$ in Eq. eqref:eq:Gk with $\mathbf{G}_f$ in Eq. eqref:eq:Gf shows that while the poles of the system are kept the same, the zeros of the diagonal terms have changed.
The two real zeros $z_r$ in Eq. eqref:eq:iff_zero_real that were inducing a non-minimum phase behavior are transformed into two complex conjugate zeros if the condition in Eq. eqref:eq:kp_cond_cc_zeros holds.
#+name: eq:kp_cond_cc_zeros
\begin{equation}
\alpha > \frac{\Omega^2}{{\omega_0}^2} \quad \Leftrightarrow \quad k_p > m \Omega^2
\end{equation}
Thus, if the added parallel stiffness $k_p$ is higher than the negative stiffness induced by centrifugal forces $m \Omega^2$, the direct dynamics from actuator to force sensor will show minimum phase behavior.
This is confirmed by the Bode plot of the direct dynamics in Figure ref:fig:plant_iff_kp.
Thus, if the added parallel stiffness $k_p$ is higher than the negative stiffness induced by centrifugal forces $m \Omega^2$, the dynamics from actuator to its collocated force sensor will show minimum phase behavior.
This is confirmed by the Bode plot in Figure ref:fig:plant_iff_kp.
Figure ref:fig:root_locus_iff_kp shows Root Loci plots for $k_p = 0$, $k_p < m \Omega^2$ and $k_p > m \Omega^2$ when $K_F$ is a pure integrator eqref:eq:Kf_pure_int.
It is shown that if the added stiffness is higher than the maximum negative stiffness, the poles of the closed-loop system stay in the (stable) right half-plane, and hence the unconditional stability of IFF is recovered.
Figure ref:fig:root_locus_iff_kp shows the Root Locus plots for $k_p = 0$, $k_p < m \Omega^2$ and $k_p > m \Omega^2$ when $K_F$ is a pure integrator as in Eq. eqref:eq:Kf_pure_int.
It is shown that if the added stiffness is higher than the maximum negative stiffness, the poles of the closed-loop system are bounded on the (stable) left half-plane, and hence the unconditional stability of IFF is recovered.
#+name: fig:plant_iff_kp
#+caption: Bode plot of $f_u/F_u$ without parallel spring, with parallel springs with stiffness $k_p < m \Omega^2$ and $k_p > m \Omega^2$, $\Omega = 0.1 \omega_0$
#+caption: Bode plot of $G_{k}(1,1) = f_u/F_u$ without parallel spring, with parallel spring stiffness $k_p < m \Omega^2$ and $k_p > m \Omega^2$, $\Omega = 0.1 \omega_0$
#+attr_latex: :scale 0.95
[[file:figs/fig14.pdf]]
[[file:figs/fig13.pdf]]
#+name: fig:root_locus_iff_kp
#+caption: Root Locus for IFF without parallel spring, with parallel springs with stiffness $k_p < m \Omega^2$ and $k_p > m \Omega^2$, $\Omega = 0.1 \omega_0$
#+caption: Root Locus for IFF without parallel spring, with parallel spring stiffness $k_p < m \Omega^2$ and $k_p > m \Omega^2$, $\Omega = 0.1 \omega_0$
#+attr_latex: :scale 0.95
[[file:figs/fig15.pdf]]
[[file:figs/fig14.pdf]]
#+latex: \par
** Optimal Parallel Stiffness :ignore:
Even though the parallel stiffness $k_p$ has no impact on the open-loop poles (as the overall stiffness $k$ stays constant), it has a large impact on the transmission zeros.
Even though the parallel stiffness $k_p$ has no impact on the open-loop poles (as the overall stiffness $k$ is kept constant), it has a large impact on the transmission zeros.
Moreover, as the attainable damping is generally proportional to the distance between poles and zeros cite:preumont18_vibrat_contr_activ_struc_fourt_edition, the parallel stiffness $k_p$ is foreseen to have a large impact on the attainable damping.
To study this effect, Root Locus plots for several parallel stiffnesses $k_p > m \Omega^2$ are shown in Figure ref:fig:root_locus_iff_kps.
The frequencies of the transmission zeros of the system are increasing with the parallel stiffness $k_p$ and the associated attainable damping is reduced.
Therefore, even though the parallel stiffness $k_p$ should be larger than $m \Omega^2$ for stability reasons, it should not be taken too high as this would limit the attainable bandwidth.
The frequencies of the transmission zeros of the system are increasing with an increase of the parallel stiffness $k_p$ and the associated attainable damping is reduced.
Therefore, even though the parallel stiffness $k_p$ should be larger than $m \Omega^2$ for stability reasons, it should not be taken too large as this would limit the attainable damping.
This is confirmed in Figure ref:fig:opt_damp_alpha where the attainable closed-loop damping ratio $\xi_{\text{cl}}$ and the associated control gain $g_\text{opt}$ are computed as a function of $\alpha$.
This is confirmed by the Figure ref:fig:opt_damp_alpha where the attainable closed-loop damping ratio $\xi_{\text{cl}}$ and the associated optimal control gain $g_\text{opt}$ are computed as a function of $\alpha$.
#+name: fig:root_locus_iff_kps
#+caption: Comparison the Root Locus for three parallel stiffnessses $k_p$
#+caption: Comparison of the Root Locus plots for three parallel stiffnessses $k_p$
#+attr_latex: :scale 1
[[file:figs/fig16.pdf]]
[[file:figs/fig15.pdf]]
#+name: fig:opt_damp_alpha
#+caption: Optimal Damping Ratio $\xi_\text{opt}$ and the corresponding optimal gain $g_\text{opt}$ as a function of $\alpha$
#+caption: Optimal damping ratio $\xi_\text{opt}$ and the corresponding optimal gain $g_\text{opt}$ as a function of $\alpha$
#+attr_latex: :scale 0.95
[[file:figs/fig17.pdf]]
[[file:figs/fig16.pdf]]
* Comparison and Discussion
<<sec:comparison>>
** Introduction :ignore:
Two modifications to adapt the IFF control strategy to rotating platforms have been proposed in Sections ref:sec:iff_hpf and ref:sec:iff_kp.
In order to overcome the instability issue of the classical IFF strategy when applied to rotating platforms, two modifications of IFF have been proposed in Sections ref:sec:iff_hpf and ref:sec:iff_kp.
These two methods are now compared in terms of added damping, closed-loop compliance and transmissibility.
For the following comparisons, the cut-off frequency for the HPF is set to $\omega_i = 0.1 \omega_0$ and the stiffness of the parallel springs is set to $k_p = 5 m \Omega^2$.
For the following comparisons, the cut-off frequency for the HPF is set to $\omega_i = 0.1 \omega_0$ and the stiffness of the parallel springs is set to $k_p = 5 m \Omega^2$ (corresponding to $\alpha = 0.05$).
These values are chosen based on the discussion about optimal parameters.
#+latex: \par
** Comparison of the Attainable Damping :ignore:
Figure ref:fig:comp_root_locus shows the Root Loci for the two proposed IFF modifications.
Figure ref:fig:comp_root_locus shows the Root Locus plots for the two proposed IFF modifications.
While the two pairs of complex conjugate open-loop poles are identical for both techniques, the transmission zeros are not.
This means that the closed-loop behavior of both systems will differ when large control gains are used.
One can observe that the closed loop poles of the system with added springs (in red) are bounded to the left half plane implying unconditional stability.
One can observe that the closed loop poles corresponding to the system with added springs (in red) are bounded to the left half plane implying unconditional stability.
This is not the case for the system where the controller is augmented with an HPF (in blue).
It is interesting to note that the maximum added damping is very similar for both techniques and is reached for the same control gain $g_\text{opt} \approx 2 \omega_0$.
@ -516,20 +539,22 @@ It is interesting to note that the maximum added damping is very similar for bot
#+name: fig:comp_root_locus
#+caption: Root Locus for the two proposed modifications of decentralized IFF, $\Omega = 0.1 \omega_0$
#+attr_latex: :scale 1
[[file:figs/fig18.pdf]]
[[file:figs/fig17.pdf]]
#+latex: \par
** Comparison Transmissibility and Compliance :ignore:
The two proposed techniques are now compared in terms of closed-loop transmissibility and compliance.
The transmissibility is defined as the transfer function from the displacement of the rotating stage to the displacement of the payload.
The transmissibility is here defined as the transfer function from a displacement of the rotating stage along $\vec{i}_x$ to the displacement of the payload along the same direction.
It is used to characterize how much vibration is transmitted through the suspended platform to the payload.
The compliance describes the displacement response of the payload to external forces applied to it.
This is a useful metric when disturbances are directly applied to the payload.
It is here defined as the transfer function from external forces applied on the payload along $\vec{i}_x$ to the displacement of the payload along the same direction.
The two techniques are also compared with passive damping (Figure ref:fig:system) where the damping coefficient $c$ is tuned to critically damp the resonance when the rotating speed is null.
The two techniques are also compared with passive damping (Figure ref:fig:system) where the damping coefficient $c$ is tuned to critically damp the resonance when the rotating speed is null as shown in Eq. eqref:eq:critical_damp.
#+name: eq:critical_damp
\begin{equation}
c_\text{crit} = 2 \sqrt{k m}
\end{equation}
@ -538,19 +563,19 @@ Very similar results are obtained for the two proposed IFF modifications in term
It is also confirmed that these two techniques can significantly damp the suspension modes.
#+name: fig:comp_transmissibility
#+caption: Comparison of the two proposed Active Damping Techniques - Transmissibility
#+caption: Comparison of the two proposed active damping techniques - transmissibility
#+attr_latex: :scale 1
[[file:figs/fig19.pdf]]
[[file:figs/fig18.pdf]]
#+name: fig:comp_compliance
#+caption: Comparison of the two proposed Active Damping Techniques - Compliance
#+caption: Comparison of the two proposed active damping techniques - compliance
#+attr_latex: :scale 1
[[file:figs/fig20.pdf]]
[[file:figs/fig19.pdf]]
On can see in Figure ref:fig:comp_transmissibility that the problem of the degradation of the transmissibility at high frequency when using passive damping techniques is overcome by the use of IFF.
The addition of the HPF or the use of the parallel stiffness permit to limit the degradation of the compliance as compared with classical IFF (Figure ref:fig:comp_compliance).
The addition of the HPF or the use of the parallel stiffness also permits to limit the degradation of the compliance as compared with classical IFF (Figure ref:fig:comp_compliance).
* Conclusion
<<sec:conclusion>>
@ -560,7 +585,7 @@ Two modifications of the classical IFF control have been proposed to overcome th
The first modification concerns the controller and consists of adding an high pass filter to the pure integrators.
This is equivalent as to moving the controller pole to the left along the real axis.
This renders the closed loop system stable up to some value of the controller gain $g_\text{max}$.
This allows the closed loop system to be stable up to some value of the controller gain.
The second proposed modification concerns the mechanical system.
Additional springs are added in parallel with the actuators and force sensors.
@ -568,9 +593,15 @@ It was shown that if the stiffness $k_p$ of the additional springs is larger tha
While having very different implementations, both proposed modifications are very similar when it comes to the attainable damping and the obtained closed loop system behavior.
Future work will focus on the experimental validation of the proposed active damping techniques.
Future work will focus on the experimental validation of the proposed IFF modifications.
The Matlab code that was used for this study is available under a MIT License and archived in Zenodo cite:dehaeze20_activ_dampin_rotat_posit_platf.
* Data Availability
:PROPERTIES:
:UNNUMBERED: t
:END:
Matlab cite:matlab20 was used for this study.
The source code is available under a MIT License and archived in Zenodo cite:dehaeze20_activ_dampin_rotat_posit_platf.
* Acknowledgments
:PROPERTIES:
@ -578,11 +609,11 @@ The Matlab code that was used for this study is available under a MIT License an
:END:
This research benefited from a FRIA grant (grant number: FC 31597) from the French Community of Belgium.
This paper is based on a paper previously presented at the ISMA conference cite:dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.
* References
* References :ignore:
:PROPERTIES:
:UNNUMBERED: t
:END:
\bibliographystyle{iopart-num}
\bibliography{ref.bib}
\bibliography{ref}

Binary file not shown.

View File

@ -1,11 +1,11 @@
% Created 2020-11-02 lun. 15:33
% Created 2021-02-19 ven. 11:49
% Intended LaTeX compiler: pdflatex
\documentclass[10pt]{iopart}
\expandafter\let\csname equation*\endcsname\relax
\expandafter\let\csname endequation*\endcsname\relax
\usepackage{capt-of, subcaption}
\usepackage{hyperref}
\usepackage[colorlinks=true, allcolors=blue]{hyperref}
\usepackage{amsmath, amssymb, amsfonts, cases, bm}
\usepackage{algorithmic, graphicx, textcomp}
\usepackage{xcolor, import}
@ -13,12 +13,14 @@
\usepackage{siunitx}
\usepackage{tikz}
\usetikzlibrary{shapes.misc,arrows,arrows.meta}
\usepackage[square,comma,sort&compress,numbers]{natbib}
\renewcommand{\bibsection}{\section*{References}}
\hypersetup{
pdfauthor={Thomas Dehaeze},
pdftitle={},
pdfkeywords={},
pdfsubject={},
pdfcreator={Emacs 27.1.50 (Org mode 9.4)},
pdfcreator={Emacs 27.1 (Org mode 9.5)},
pdflang={English}}
\begin{document}
@ -27,7 +29,7 @@
\address{$^1$ Precision Mechatronics Laboratory, University of Liege, Belgium}
\address{$^2$ BEAMS Department, Free University of Brussels, Belgium}
\address{$^3$ European Synchrotron Radiation Facility, Grenoble, France}
\ead{dehaeze.thomas@gmail.com}
\ead{tdehaeze@uliege.be}
\begin{abstract}
This paper investigates the use of Integral Force Feedback (IFF) for the active damping of rotating mechanical systems.
@ -35,64 +37,69 @@ Guaranteed stability, typical benefit of IFF, is lost as soon as the system is r
To overcome this issue, two modifications of the classical IFF control scheme are proposed.
The first consists of slightly modifying the control law while the second consists of adding springs in parallel with the force sensors.
Conditions for stability and optimal parameters are derived.
The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on suspension modes.
The results reveal that, despite their different implementations, both modified IFF control scheme have almost identical damping authority on the suspension modes.
\end{abstract}
\vspace{2pc}
\noindent{\it Keywords}: Active Damping, IFF
\submitto{\SMS}
\submitto{{\it Engineering Research Express\/}}
\maketitle
% \ioptwocol
% Two Columns output
\ioptwocol
\section{Introduction}
\label{sec:orgdf2365d}
\label{sec:org1def047}
\label{sec:introduction}
There is an increasing need to reduce the undesirable vibration of many sensitive equipment.
A common method to reduce vibration is to mount the sensitive equipment on a suspended platform which attenuates the vibrations above the frequency of the suspension modes.
In order to further decrease the residual vibrations, active damping can be used for reducing the magnification of the response in the vicinity of the resonances.
There is an increasing need to reduce the undesirable vibration of sensitive equipment in many different fields such as in aerospace industry~\cite{hanieh03_activ_stewar,hauge04_sensor_contr_space_based_six,souleille18_concep_activ_mount_space_applic}, semi conductor industry~\cite{yoshioka01_activ_microv_isolat_system_hi}, microscopy~\cite{lan08_activ_vibrat_isolat_long_range,fleming15_low_order_dampin_track_contr}, gravitational wave detectors~\cite{matichard15_seism_isolat_advan_ligo} and particles accelerators~\cite{collette10_activ_quadr_stabil_futur_linear_partic_collid,dehaeze18_sampl_stabil_for_tomog_exper}.
In \cite{preumont92_activ_dampin_by_local_force}, the Integral Force Feedback (IFF) control scheme has been proposed, where a force sensor, a force actuator and an integral controller are used to directly augment the damping of a mechanical system.
When the force sensor is collocated with the actuator, the open-loop transfer function has alternating poles and zeros which facilitate to guarantee the stability of the closed loop system \cite{preumont02_force_feedb_versus_accel_feedb}.
A common method to reduce vibration is to mount the sensitive equipment on a suspended platform which attenuates the vibrations above the frequency of the suspension modes~\cite{reilly06_critic,poel10_explor_activ_hard_mount_vibrat}. \par
In order to further decrease the residual vibrations, active damping can be used for reducing the magnification of the response in the vicinity of the resonances~\cite{collette11_review_activ_vibrat_isolat_strat}.
Many active damping techniques have been developed over the years such as Positive Position Feedback (PPF)~\cite{lin06_distur_atten_precis_hexap_point,fanson90_posit_posit_feedb_contr_large_space_struc}, Integral Force Feedback (IFF)~\cite{preumont91_activ} and Direct Velocity Feedback (DVF)~\cite{karnopp74_vibrat_contr_using_semi_activ_force_gener,serrand00_multic_feedb_contr_isolat_base_excit_vibrat,preumont02_force_feedb_versus_accel_feedb}. \par
In~\cite{preumont92_activ_dampin_by_local_force}, the IFF control scheme has been proposed, where a force sensor, a force actuator and an integral controller are used to directly augment the damping of a mechanical system.
When the force sensor is collocated with the actuator, the open-loop transfer function has alternating poles and zeros which facilitate to guarantee the stability of the closed loop system~\cite{preumont02_force_feedb_versus_accel_feedb}.
It was latter shown that this property holds for multiple collated actuator/sensor pairs~\cite{preumont08_trans_zeros_struc_contr_with}. \par
The main advantages of IFF over other active damping techniques are the guaranteed stability even in presence of flexible dynamics, good performances and robustness properties~\cite{preumont02_force_feedb_versus_accel_feedb}. \par
Several improvements of the classical IFF have been proposed, such as adding a feed-through term to increase the achievable damping~\cite{teo15_optim_integ_force_feedb_activ_vibrat_contr} or adding an high pass filter to recover the loss of compliance at low frequency~\cite{chesne16_enhan_dampin_flexib_struc_using_force_feedb}.
Recently, an \(\mathcal{H}_\infty\) optimization criterion has been used to derive optimal gains for the IFF controller~\cite{zhao19_optim_integ_force_feedb_contr}. \par
However, when the platform is rotating, gyroscopic effects alter the system dynamics and IFF cannot be applied as is.
The purpose of this paper is to study how the IFF strategy can be adapted to deal with these Gyroscopic effects.
The purpose of this paper is to study how the IFF strategy can be adapted to deal with these gyroscopic effects. \par
The paper is structured as follows.
Section \ref{sec:dynamics} presents a simple model of a rotating suspended platform that will be used throughout this study.
Section \ref{sec:iff} explains how the unconditional stability of IFF is lost due to Gyroscopic effects induced by the rotation.
Section \ref{sec:iff_hpf} suggests a simple modification of the control law such that damping can be added to the suspension modes in a robust way.
Section \ref{sec:iff_kp} proposes to add springs in parallel with the force sensors to regain the unconditional stability of IFF.
Section \ref{sec:comparison} compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.
Section~\ref{sec:dynamics} presents a simple model of a rotating suspended platform that will be used throughout this study.
Section~\ref{sec:iff} explains how the unconditional stability of IFF is lost due to gyroscopic effects induced by the rotation.
Section~\ref{sec:iff_hpf} suggests a simple modification of the control law such that damping can be added to the suspension modes in a robust way.
Section~\ref{sec:iff_kp} proposes to add springs in parallel with the force sensors to regain the unconditional stability of IFF.
Section~\ref{sec:comparison} compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.
\section{Dynamics of Rotating Platforms}
\label{sec:orgb49fb34}
\label{sec:org414e8cb}
\label{sec:dynamics}
In order to study how the rotation does affect the use of IFF, a model of a suspended platform on top of a rotating stage is used.
Figure \ref{fig:system} represents the model schematically which is the simplest in which gyroscopic forces can be studied.
In order to study how the rotation affects the use of IFF, a model of a suspended platform on top of a rotating stage is used.
Figure~\ref{fig:system} represents a schematic of the model which is the simplest in which gyroscopic forces can be studied.
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.9]{figs/fig01.pdf}
\caption{\label{fig:system}Schematic of the studied System}
\includegraphics[scale=1,scale=0.9]{figs/fig01.pdf}
\caption{\label{fig:system}Schematic of the studied system}
\end{figure}
The rotating stage is supposed to be ideal, meaning it induces a perfect rotation \(\theta(t) = \Omega t\) where \(\Omega\) is the rotational speed in \(\si{\radian\per\second}\).
The rotating stage is supposed to be ideal, meaning it induces a perfect rotation \(\theta(t) = \Omega t\) where \(\Omega\) is the rotational speed in \(\si{\radian\per\s}\).
The suspended platform consists of two orthogonal actuators represented by three elements in parallel: a spring with a stiffness \(k\) in \(\si{\newton\per\meter}\), a dashpot with a damping coefficient \(c\) in \(\si{\newton\per\meter\second}\) and an ideal force source \(F_u, F_v\).
The suspended platform consists of two orthogonal actuators each represented by three elements in parallel: a spring with a stiffness \(k\) in \(\si{\newton\per\meter}\), a dashpot with a damping coefficient \(c\) in \(\si{\newton\per(\meter\per\second)^{-1}}\) and an ideal force source \(F_u, F_v\).
A payload with a mass \(m\) in \(\si{\kilo\gram}\), representing the sensitive equipment, is mounted on the (rotating) suspended platform.
Two reference frames are used: an inertial frame \((\vec{i}_x, \vec{i}_y, \vec{i}_z)\) and a uniform rotating frame \((\vec{i}_u, \vec{i}_v, \vec{i}_w)\) rigidly fixed on top of the rotating stage with \(\vec{i}_w\) aligned with the rotation axis.
The position of the payload is represented by \((d_u, d_v, 0)\) expressed in the rotating frame.
\par
To obtain the equations of motion for the system represented in Figure \ref{fig:system}, the Lagrangian equations are used:
To obtain the equations of motion for the system represented in Figure~\ref{fig:system}, the Lagrangian equations are used:
\begin{equation}
\label{eq:lagrangian_equations}
\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{q}_i} \right) + \frac{\partial D}{\partial \dot{q}_i} - \frac{\partial L}{\partial q_i} = Q_i
\end{equation}
with \(L = T - V\) the Lagrangian, \(T\) the kinetic coenergy, \(V\) the potential energy, \(D\) the dissipation function, and \(Q_i\) the generalized force associated with the generalized variable \(\begin{bmatrix}q_1 & q_2\end{bmatrix} = \begin{bmatrix}d_u & d_v\end{bmatrix}\).
The equation of motion corresponding to the constant rotation in the \((\vec{i}_x, \vec{i}_y)\) plane is disregarded as the motion is considered to be imposed by the rotation stage.
The equation of motion corresponding to the constant rotation along \(\vec{i}_w\) is disregarded as this motion is considered to be imposed by the rotation stage.
\begin{equation}
\label{eq:energy_functions_lagrange}
\begin{aligned}
@ -102,32 +109,26 @@ The equation of motion corresponding to the constant rotation in the \((\vec{i}_
\end{aligned}
\end{equation}
Substituting \eqref{eq:energy_functions_lagrange} into \eqref{eq:lagrangian_equations} for both generalized coordinates gives two coupled differential equations
Substituting Eq.~\eqref{eq:energy_functions_lagrange} into Eq.~\eqref{eq:lagrangian_equations} for both generalized coordinates gives two coupled differential equations~\eqref{eq:eom_coupled_1} and~\eqref{eq:eom_coupled_2}.
\begin{subequations}
\label{eq:eom_coupled}
\begin{align}
m \ddot{d}_u + c \dot{d}_u + ( k - m \Omega^2 ) d_u &= F_u + 2 m \Omega \dot{d}_v \\
m \ddot{d}_v + c \dot{d}_v + ( k \underbrace{-\,m \Omega^2}_{\text{Centrif.}} ) d_v &= F_v \underbrace{-\,2 m \Omega \dot{d}_u}_{\text{Coriolis}}
m \ddot{d}_u + c \dot{d}_u + ( k - m \Omega^2 ) d_u &= F_u + 2 m \Omega \dot{d}_v \label{eq:eom_coupled_1} \\
m \ddot{d}_v + c \dot{d}_v + ( k \underbrace{-\,m \Omega^2}_{\text{Centrif.}} ) d_v &= F_v \underbrace{-\,2 m \Omega \dot{d}_u}_{\text{Coriolis}} \label{eq:eom_coupled_2}
\end{align}
\end{subequations}
The uniform rotation of the system induces two Gyroscopic effects as shown in \eqref{eq:eom_coupled}:
The uniform rotation of the system induces two gyroscopic effects as shown in Eq.~\eqref{eq:eom_coupled}:
\begin{itemize}
\item Centrifugal forces: that can been seen as added negative stiffness \(- m \Omega^2\) along \(\vec{i}_u\) and \(\vec{i}_v\)
\item Coriolis Forces: that couples the motion in the two orthogonal directions
\item Centrifugal forces: that can been seen as an added negative stiffness \(- m \Omega^2\) along \(\vec{i}_u\) and \(\vec{i}_v\)
\item Coriolis Forces: that adds coupling between the two orthogonal directions.
\end{itemize}
One can verify that without rotation (\(\Omega = 0\)) the system becomes equivalent to two uncoupled one degree of freedom mass-spring-damper systems:
\begin{subequations}
\label{eq:oem_no_rotation}
\begin{align}
m \ddot{d}_u + c \dot{d}_u + k d_u &= F_u \\
m \ddot{d}_v + c \dot{d}_v + k d_v &= F_v
\end{align}
\end{subequations}
One can verify that without rotation (\(\Omega = 0\)) the system becomes equivalent to two uncoupled one degree of freedom mass-spring-damper systems.
\par
To study the dynamics of the system, the differential equations of motions \eqref{eq:eom_coupled} are transformed in the Laplace domain and the \(2 \times 2\) transfer function matrix \(\mathbf{G}_d\) from \(\begin{bmatrix}F_u & F_v\end{bmatrix}\) to \(\begin{bmatrix}d_u & d_v\end{bmatrix}\) is obtained.
To study the dynamics of the system, the differential equations of motions~\eqref{eq:eom_coupled} are converted into the Laplace domain and the \(2 \times 2\) transfer function matrix \(\mathbf{G}_d\) from \(\begin{bmatrix}F_u & F_v\end{bmatrix}\) to \(\begin{bmatrix}d_u & d_v\end{bmatrix}\) in Eq.~\eqref{eq:Gd_mimo_tf} is obtained.
Its elements are shown in Eq.~\eqref{eq:Gd_indiv_el}.
\begin{equation}
\label{eq:Gd_mimo_tf}
@ -136,25 +137,27 @@ To study the dynamics of the system, the differential equations of motions \eqre
\begin{subequations}
\label{eq:Gd_indiv_el}
\begin{align}
\mathbf{G}_{d}(1,1) &= {\frac{ms^2 + cs + k - m \Omega^2}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2}} \\
&= \mathbf{G}_{d}(2,2) \nonumber \\
\mathbf{G}_{d}(1,2) &= {\frac{2 m \Omega s}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2}} \\
&= -\mathbf{G}_{d}(1,2) \nonumber
& \mathbf{G}_{d}(1,1) = \mathbf{G}_{d}(2,2) = \dots \nonumber \\
& \quad {\frac{ms^2 + cs + k - m \Omega^2}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2}} \\
& \mathbf{G}_{d}(1,2) = -\mathbf{G}_{d}(1,2) = \dots \nonumber \\
& \quad {\frac{2 m \Omega s}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2}}
\end{align}
\end{subequations}
To simplify the analysis, the undamped natural frequency \(\omega_0\) and the damping ratio \(\xi\) are used
To simplify the analysis, the undamped natural frequency \(\omega_0\) and the damping ratio \(\xi\) are used as in Eq.~\eqref{eq:xi_and_omega}.
\begin{equation}
\label{eq:xi_and_omega}
\omega_0 = \sqrt{\frac{k}{m}} \text{ in } \si{\radian\per\second}, \quad \xi = \frac{c}{2 \sqrt{k m}}
\end{equation}
The transfer function matrix \(\mathbf{G}_d\) becomes equal to
The elements of transfer function matrix \(\mathbf{G}_d\) are now describe by Eq.~\eqref{eq:Gd_w0_xi_k}.
\begin{subequations}
\label{eq:Gd_w0_xi_k}
\begin{align}
\mathbf{G}_{d}(1,1) &= {\scriptstyle \frac{\frac{1}{k} \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \\
\mathbf{G}_{d}(1,2) &= {\scriptstyle \frac{\frac{1}{k} \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} }
\mathbf{G}_{d}(1,1) &= {\scriptstyle \frac{\frac{1}{k} \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}} \\
\mathbf{G}_{d}(1,2) &= {\scriptstyle \frac{\frac{1}{k} \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}}
\end{align}
\end{subequations}
@ -162,14 +165,14 @@ For all further numerical analysis in this study, we consider \(\omega_0 = \SI{1
Even though no system with such parameters will be encountered in practice, conclusions can be drawn relative to these parameters such that they can be generalized to any other set of parameters.
\par
The poles of \(\mathbf{G}_d\) are the complex solutions \(p\) of \eqref{eq:poles}.
The poles of \(\mathbf{G}_d\) are the complex solutions \(p\) of Eq.~\eqref{eq:poles}.
\begin{equation}
\label{eq:poles}
\left( \frac{p^2}{{\omega_0}^2} + 2 \xi \frac{p}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{p}{\omega_0} \right)^2 = 0
\end{equation}
Supposing small damping (\(\xi \ll 1\)), two pairs of complex conjugate poles are obtained \eqref{eq:pole_values}.
Supposing small damping (\(\xi \ll 1\)), two pairs of complex conjugate poles are obtained as shown in Eq.~\eqref{eq:pole_values}.
\begin{subequations}
\label{eq:pole_values}
@ -179,8 +182,8 @@ Supposing small damping (\(\xi \ll 1\)), two pairs of complex conjugate poles ar
\end{align}
\end{subequations}
The real part and complex part of these two pairs of complex conjugate poles are represented in Figure \ref{fig:campbell_diagram} as a function of the rotational speed \(\Omega\).
As the rotational speed increases, \(p_{+}\) goes to higher frequencies and \(p_{-}\) to lower frequencies.
The real and complex parts of these two pairs of complex conjugate poles are represented in Figure~\ref{fig:campbell_diagram} as a function of the rotational speed \(\Omega\).
As the rotational speed increases, \(p_{+}\) goes to higher frequencies and \(p_{-}\) goes to lower frequencies.
The system becomes unstable for \(\Omega > \omega_0\) as the real part of \(p_{-}\) is positive.
Physically, the negative stiffness term \(-m\Omega^2\) induced by centrifugal forces exceeds the spring stiffness \(k\).
@ -188,60 +191,64 @@ In the rest of this study, rotational speeds smaller than the undamped natural f
\begin{figure}[htbp]
\begin{subfigure}[c]{0.48\linewidth}
\includegraphics[width=\linewidth]{figs/fig02a.pdf}
\centering
\includegraphics[scale=1]{figs/fig02a.pdf}
\caption{\label{fig:campbell_diagram_real} Real Part}
\end{subfigure}
\hfill
\begin{subfigure}[c]{0.48\linewidth}
\includegraphics[width=\linewidth]{figs/fig02b.pdf}
\centering
\includegraphics[scale=1]{figs/fig02b.pdf}
\caption{\label{fig:campbell_diagram_imag} Imaginary Part}
\end{subfigure}
\hfill
\caption{\label{fig:campbell_diagram}Campbell Diagram : Evolution of the complex and real parts of the system's poles as a function of the rotational speed \(\Omega\)}
\caption{\label{fig:campbell_diagram}Campbell diagram : Evolution of the complex and real parts of the system's poles as a function of the rotational speed \(\Omega\)}
\centering
\end{figure}
Looking at the transfer function matrix \(\mathbf{G}_d\) in \eqref{eq:Gd_w0_xi_k}, one can see that the two diagonal (direct) terms are equal and the two off-diagonal (coupling) terms are opposite.
The bode plot of these two terms are shown in Figure \ref{fig:plant_compare_rotating_speed} for several rotational speeds \(\Omega\).
Looking at the transfer function matrix \(\mathbf{G}_d\) in Eq.~\eqref{eq:Gd_w0_xi_k}, one can see that the two diagonal (direct) terms are equal and that the two off-diagonal (coupling) terms are opposite.
The bode plot of these two terms are shown in Figure~\ref{fig:plant_compare_rotating_speed} for several rotational speeds \(\Omega\).
These plots confirm the expected behavior: the frequency of the two pairs of complex conjugate poles are further separated as \(\Omega\) increases.
For \(\Omega > \omega_0\), the low frequency pair of complex conjugate poles \(p_{-}\) becomes unstable.
\begin{figure}[htbp]
\begin{subfigure}[c]{0.48\linewidth}
\includegraphics[width=\linewidth]{figs/fig03a.pdf}
\centering
\includegraphics[scale=1]{figs/fig03a.pdf}
\caption{\label{fig:plant_compare_rotating_speed_direct} Direct Terms}
\end{subfigure}
\hfill
\begin{subfigure}[c]{0.48\linewidth}
\includegraphics[width=\linewidth]{figs/fig03b.pdf}
\centering
\includegraphics[scale=1]{figs/fig03b.pdf}
\caption{\label{fig:plant_compare_rotating_speed_coupling} Coupling Terms}
\end{subfigure}
\hfill
\caption{\label{fig:plant_compare_rotating_speed}Bode Plots for \(\mathbf{G}_d\) for several rotational speed \(\Omega\)}
\caption{\label{fig:plant_compare_rotating_speed}Bode plots for \(\mathbf{G}_d\) for several rotational speed \(\Omega\)}
\centering
\end{figure}
\section{Decentralized Integral Force Feedback}
\label{sec:org7b1adf9}
\label{sec:orgdc87c6d}
\label{sec:iff}
In order to apply IFF to the system, force sensors are added in series with the two actuators (Figure \ref{fig:system_iff}).
In order to apply IFF to the rotating system, force sensors are added in series with the two actuators (Figure~\ref{fig:system_iff}).
As this study focuses on decentralized control, two identical controllers \(K_F\) are used to feedback each of the sensed force to its associated actuator and no attempt is made to counteract the interactions in the system.
The control diagram is schematically shown in Figure \ref{fig:control_diagram_iff}.
The control diagram is schematically shown in Figure~\ref{fig:control_diagram_iff}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.9]{figs/fig04.pdf}
\caption{\label{fig:system_iff}System with added Force Sensor in series with the actuators}
\includegraphics[scale=1,scale=0.9]{figs/fig04.pdf}
\caption{\label{fig:system_iff}System with added force sensor in series with the actuators and with a decentralized IFF architecture}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/fig05.pdf}
\caption{\label{fig:control_diagram_iff}Control Diagram for decentralized IFF}
\includegraphics[scale=1,scale=1]{figs/fig05.pdf}
\caption{\label{fig:control_diagram_iff}Control diagram for decentralized IFF}
\end{figure}
\par
The forces \(\begin{bmatrix}f_u & f_v\end{bmatrix}\) measured by the two force sensors represented in Figure \ref{fig:system_iff} are equal to
The forces \(\begin{bmatrix}f_u & f_v\end{bmatrix}\) measured by the two force sensors represented in Figure~\ref{fig:system_iff} are described by Eq.~\eqref{eq:measured_force}.
\begin{equation}
\label{eq:measured_force}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} =
@ -249,21 +256,26 @@ The forces \(\begin{bmatrix}f_u & f_v\end{bmatrix}\) measured by the two force s
\begin{bmatrix} d_u \\ d_v \end{bmatrix}
\end{equation}
Inserting \eqref{eq:Gd_w0_xi_k} into \eqref{eq:measured_force} yields
The transfer function matrix \(\mathbf{G}_{f}\) from actuator forces to measured forces in Eq.~\eqref{eq:Gf_mimo_tf} can be obtained by inserting Eq.~\eqref{eq:Gd_w0_xi_k} into Eq.~\eqref{eq:measured_force}.
Its elements are shown in Eq.~\eqref{eq:Gf_indiv_el}.
\begin{equation}
\label{eq:Gf_mimo_tf}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} = \mathbf{G}_{f} \begin{bmatrix} F_u \\ F_v \end{bmatrix}
\end{equation}
\begin{subequations}
\label{eq:Gf_indiv_el}
\label{eq:Gf}
\begin{align}
\mathbf{G}_{f}(1,1) &= {\scriptstyle \frac{\left( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} \right) \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right) + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \\
\mathbf{G}_{f}(1,2) &= {\scriptstyle \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} }
& \mathbf{G}_{f}(1,1) = \mathbf{G}_{f}(2,2) = \dots \nonumber \\
& \quad {\scriptstyle \frac{\left( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} \right) \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right) + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \label{eq:Gf_diag_tf} \\
& \mathbf{G}_{f}(1,2) = -\mathbf{G}_{f}(2,1) = \dots \nonumber \\
& \quad {\scriptstyle \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \label{eq:Gf_off_diag_tf}
\end{align}
\end{subequations}
The zeros of the diagonal terms of \(\mathbf{G}_f\) are equal to (neglecting the damping for simplicity)
The zeros of the diagonal terms of \(\mathbf{G}_f\) in Eq.~\eqref{eq:Gf_diag_tf} are computed, and neglecting the damping for simplicity, two complex conjugated poles \(z_{c}\) are obtained in Eq.~\eqref{eq:iff_zero_cc}, and two real zeros \(z_{r}\) in Eq.~\eqref{eq:iff_zero_real}.
\begin{subequations}
\begin{align}
z_c &= \pm j \omega_0 \sqrt{\frac{1}{2} \sqrt{8 \frac{\Omega^2}{{\omega_0}^2} + 1} + \frac{\Omega^2}{{\omega_0}^2} + \frac{1}{2} } \label{eq:iff_zero_cc} \\
@ -271,12 +283,12 @@ The zeros of the diagonal terms of \(\mathbf{G}_f\) are equal to (neglecting the
\end{align}
\end{subequations}
The frequency of the pair of complex conjugate zeros \(z_c\) \eqref{eq:iff_zero_cc} always lies between the frequency of the two pairs of complex conjugate poles \(p_{-}\) and \(p_{+}\) \eqref{eq:pole_values}.
It is interesting to see that the frequency of the pair of complex conjugate zeros \(z_c\) in Eq.~\eqref{eq:iff_zero_cc} always lies between the frequency of the two pairs of complex conjugate poles \(p_{-}\) and \(p_{+}\) in Eq.~\eqref{eq:pole_values}.
For non-null rotational speeds, two real zeros \(z_r\) \eqref{eq:iff_zero_real} appear in the diagonal terms inducing a non-minimum phase behavior.
This can be seen in the Bode plot of the diagonal terms (Figure \ref{fig:plant_iff_compare_rotating_speed}) where the low frequency gain is no longer zero while the phase stays at \(\SI{180}{\degree}\).
For non-null rotational speeds, the two real zeros \(z_r\) in Eq.~\eqref{eq:iff_zero_real} induce a non-minimum phase behavior.
This can be seen in the Bode plot of the diagonal terms (Figure~\ref{fig:plant_iff_compare_rotating_speed}) where the low frequency gain is no longer zero while the phase stays at \(\SI{180}{\degree}\).
The low frequency gain of \(\mathbf{G}_f\) increases with the rotational speed \(\Omega\)
The low frequency gain of \(\mathbf{G}_f\) increases with the rotational speed \(\Omega\) as shown in Eq.~\eqref{eq:low_freq_gain_iff_plan}.
\begin{equation}
\label{eq:low_freq_gain_iff_plan}
\lim_{\omega \to 0} \left| \mathbf{G}_f (j\omega) \right| = \begin{bmatrix}
@ -289,100 +301,102 @@ This can be explained as follows: a constant force \(F_u\) induces a small displ
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.95]{figs/fig06.pdf}
\includegraphics[scale=1,scale=0.95]{figs/fig06.pdf}
\caption{\label{fig:plant_iff_compare_rotating_speed}Bode plot of the dynamics from a force actuator to its collocated force sensor (\(f_u/F_u\), \(f_v/F_v\)) for several rotational speeds \(\Omega\)}
\end{figure}
\par
\label{sec:iff_pure_int}
The two IFF controllers \(K_F\) consist of a pure integrator
The two IFF controllers \(K_{F}\) consist of a pure integrator as shown in Eq.~\eqref{eq:Kf_pure_int} where \(g\) is a scalar representing the gain of the controller.
\begin{equation}
\label{eq:Kf_pure_int}
\begin{aligned}
\mathbf{K}_F(s) &= \begin{bmatrix} K_F(s) & 0 \\ 0 & K_F(s) \end{bmatrix} \\
K_F(s) &= g \cdot \frac{1}{s}
\mathbf{K}_{F}(s) &= \begin{bmatrix} K_{F}(s) & 0 \\ 0 & K_{F}(s) \end{bmatrix} \\
K_{F}(s) &= g \cdot \frac{1}{s}
\end{aligned}
\end{equation}
where \(g\) is a scalar representing the gain of the controller.
In order to see how the IFF affects the poles of the closed loop system, a Root Locus plot (Figure \ref{fig:root_locus_pure_iff}) is constructed as follows: the poles of the closed-loop system are drawn in the complex plane as the controller gain \(g\) varies from \(0\) to \(\infty\) for the two controllers \(K_F\) simultaneously.
As explained in \cite{preumont08_trans_zeros_struc_contr_with,skogestad07_multiv_feedb_contr}, the closed-loop poles start at the open-loop poles (shown by \(\tikz[baseline=-0.6ex] \node[cross out, draw=black, minimum size=1ex, line width=2pt, inner sep=0pt, outer sep=0pt] at (0, 0){};\)) for \(g = 0\) and coincide with the transmission zeros (shown by \(\tikz[baseline=-0.6ex] \draw[line width=2pt, inner sep=0pt, outer sep=0pt] (0,0) circle[radius=3pt];\)) as \(g \to \infty\).
In order to see how the IFF controller affects the poles of the closed loop system, a Root Locus plot (Figure~\ref{fig:root_locus_pure_iff}) is constructed as follows: the poles of the closed-loop system are drawn in the complex plane as the controller gain \(g\) varies from \(0\) to \(\infty\) for the two controllers \(K_{F}\) simultaneously.
As explained in~\cite{preumont08_trans_zeros_struc_contr_with,skogestad07_multiv_feedb_contr}, the closed-loop poles start at the open-loop poles (shown by \(\tikz[baseline=-0.6ex] \node[cross out, draw=black, minimum size=1ex, line width=2pt, inner sep=0pt, outer sep=0pt] at (0, 0){};\)) for \(g = 0\) and coincide with the transmission zeros (shown by \(\tikz[baseline=-0.6ex] \draw[line width=2pt, inner sep=0pt, outer sep=0pt] (0,0) circle[radius=3pt];\)) as \(g \to \infty\).
The direction of increasing gain is indicated by arrows \(\tikz[baseline=-0.6ex] \draw[-{Stealth[round]},line width=2pt] (0,0) -- (0.3,0);\).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/fig07.pdf}
\caption{\label{fig:root_locus_pure_iff}Root Locus: evolution of the closed-loop poles with increasing controller gains \(g\)}
\includegraphics[scale=1,scale=1]{figs/fig07.pdf}
\caption{\label{fig:root_locus_pure_iff}Root Locus: Evolution of the closed-loop poles with increasing controller gains \(g\)}
\end{figure}
Whereas collocated IFF is usually associated with unconditional stability \cite{preumont91_activ}, this property is lost as soon as the rotational speed in non-null due to gyroscopic effects.
This can be seen in the Root Locus plot (Figure \ref{fig:root_locus_pure_iff}) where the poles corresponding to the controller are bound to the right half plane implying closed-loop system instability.
Whereas collocated IFF is usually associated with unconditional stability~\cite{preumont91_activ}, this property is lost due to gyroscopic effects as soon as the rotational speed in non-null.
This can be seen in the Root Locus plot (Figure~\ref{fig:root_locus_pure_iff}) where poles corresponding to the controller are bound to the right half plane implying closed-loop system instability.
Physically, this can be explain like so: at low frequency, the loop gain is very large due to the pure integrators in \(K_F\).
Physically, this can be explained like so: at low frequency, the loop gain is very large due to the pure integrator in \(K_{F}\) and the finite gain of the plant (Figure~\ref{fig:plant_iff_compare_rotating_speed}).
The control system is thus canceling the spring forces which makes the suspended platform no able to hold the payload against centrifugal forces, hence the instability.
In order to apply decentralized IFF on rotating platforms, two solutions are proposed to deal with this instability problem.
The first one consists of slightly modifying the control law (Section \ref{sec:iff_hpf}) while the second one consists of adding springs in parallel with the force sensors (Section \ref{sec:iff_kp}).
In order to apply decentralized IFF to rotating platforms, two solutions are proposed to deal with this instability problem.
The first one consists of slightly modifying the control law (Section~\ref{sec:iff_hpf}) while the second one consists of adding springs in parallel with the force sensors (Section~\ref{sec:iff_kp}).
\section{Integral Force Feedback with High Pass Filter}
\label{sec:orgb29360e}
\label{sec:orgdb88ec7}
\label{sec:iff_hpf}
As was explained in the previous section, the instability comes in part from the high gain at low frequency caused by the pure integrators.
In order to limit this low frequency controller gain, an high pass filter (HPF) can be added to the controller
In order to limit the low frequency controller gain, an High Pass Filter (HPF) can be added to the controller as shown in Eq.~\eqref{eq:IFF_LHF}.
\begin{equation}
\label{eq:IFF_LHF}
K_{F}(s) = g \cdot \frac{1}{s} \cdot \underbrace{\frac{s/\omega_i}{1 + s/\omega_i}}_{\text{HPF}} = g \cdot \frac{1}{s + \omega_i}
\end{equation}
This is equivalent to slightly shifting the controller pole to the left along the real axis.
This is equivalent as to slightly shifting the controller pole to the left along the real axis.
This modification of the IFF controller is typically done to avoid saturation associated with the pure integrator \cite{preumont91_activ}.
This modification of the IFF controller is typically done to avoid saturation associated with the pure integrator~\cite{preumont91_activ,marneffe07_activ_passiv_vibrat_isolat_dampin_shunt_trans}.
This is however not the case in this study as it will become clear in the next section.
\par
The loop gains, \(K_F(s)\) times the direct dynamics \(f_u/F_u\), with and without the added HPF are shown in Figure \ref{fig:loop_gain_modified_iff}.
The loop gains, \(K_F(s)\) times the direct dynamics \(f_u/F_u\), with and without the added HPF are shown in Figure~\ref{fig:loop_gain_modified_iff}.
The effect of the added HPF limits the low frequency gain as expected.
The Root Loci for the decentralized IFF with and without the HPF are displayed in Figure \ref{fig:root_locus_modified_iff}.
With the added HPF, the poles of the closed loop system are shown to be stable up to some value of the gain \(g_\text{max}\)
The Root Locus plots for the decentralized IFF with and without the HPF are displayed in Figure~\ref{fig:root_locus_modified_iff}.
With the added HPF, the poles of the closed loop system are shown to be stable up to some value of the gain \(g_\text{max}\) in Eq.~\eqref{eq:gmax_iff_hpf}.
\begin{equation}
\label{eq:gmax_iff_hpf}
g_{\text{max}} = \omega_i \left( \frac{{\omega_0}^2}{\Omega^2} - 1 \right)
\end{equation}
It is interesting to note that \(g_{\text{max}}\) also corresponds to the gain where the low frequency loop gain (Figure \ref{fig:loop_gain_modified_iff}) reaches one.
It is interesting to note that \(g_{\text{max}}\) also corresponds to the controller gain at which the low frequency loop gain (Figure~\ref{fig:loop_gain_modified_iff}) reaches one.
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.95]{figs/fig08.pdf}
\includegraphics[scale=1,scale=0.95]{figs/fig08.pdf}
\caption{\label{fig:loop_gain_modified_iff}Modification of the loop gain with the added HFP, \(g = 2\), \(\omega_i = 0.1 \omega_0\) and \(\Omega = 0.1 \omega_0\)}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/fig09.pdf}
\includegraphics[scale=1,scale=1]{figs/fig09.pdf}
\caption{\label{fig:root_locus_modified_iff}Modification of the Root Locus with the added HPF, \(\omega_i = 0.1 \omega_0\) and \(\Omega = 0.1 \omega_0\)}
\end{figure}
\par
Two parameters can be tuned for the modified controller \eqref{eq:IFF_LHF}: the gain \(g\) and the pole's location \(\omega_i\).
Two parameters can be tuned for the modified controller in Eq.~\eqref{eq:IFF_LHF}: the gain \(g\) and the pole's location \(\omega_i\).
The optimal values of \(\omega_i\) and \(g\) are here considered as the values for which the damping of all the closed-loop poles are simultaneously maximized.
In order to visualize how \(\omega_i\) does affect the attainable damping, the Root Loci for several \(\omega_i\) are displayed in Figure \ref{fig:root_locus_wi_modified_iff}.
It is shown that even though small \(\omega_i\) seem to allow more damping to be added to the suspension modes, the control gain \(g\) may be limited to small values due to \eqref{eq:gmax_iff_hpf}.
In order to visualize how \(\omega_i\) does affect the attainable damping, the Root Locus plots for several \(\omega_i\) are displayed in Figure~\ref{fig:root_locus_wi_modified_iff}.
It is shown that even though small \(\omega_i\) seem to allow more damping to be added to the suspension modes, the control gain \(g\) may be limited to small values due to Eq.~\eqref{eq:gmax_iff_hpf}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.95]{figs/fig10.pdf}
\includegraphics[scale=1,scale=0.95]{figs/fig10.pdf}
\caption{\label{fig:root_locus_wi_modified_iff}Root Locus for several HPF cut-off frequencies \(\omega_i\), \(\Omega = 0.1 \omega_0\)}
\end{figure}
In order to study this trade off, the attainable closed-loop damping ratio \(\xi_{\text{cl}}\) is computed as a function of \(\omega_i/\omega_0\).
The gain \(g_{\text{opt}}\) at which this maximum damping is obtained is also displayed and compared with the gain \(g_{\text{max}}\) at which the system becomes unstable (Figure \ref{fig:mod_iff_damping_wi}).
The gain \(g_{\text{opt}}\) at which this maximum damping is obtained is also displayed and compared with the gain \(g_{\text{max}}\) at which the system becomes unstable (Figure~\ref{fig:mod_iff_damping_wi}).
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.95]{figs/fig11.pdf}
\includegraphics[scale=1,scale=0.95]{figs/fig11.pdf}
\caption{\label{fig:mod_iff_damping_wi}Attainable damping ratio \(\xi_\text{cl}\) as a function of \(\omega_i/\omega_0\). Corresponding control gain \(g_\text{opt}\) and \(g_\text{max}\) are also shown}
\end{figure}
@ -390,34 +404,27 @@ Three regions can be observed:
\begin{itemize}
\item \(\omega_i/\omega_0 < 0.02\): the added damping is limited by the maximum allowed control gain \(g_{\text{max}}\)
\item \(0.02 < \omega_i/\omega_0 < 0.2\): the attainable damping ratio is maximized and is reached for \(g \approx 2\)
\item \(0.2 < \omega_i/\omega_0\): the added damping decreases as \(\omega_i/\omega_0\) increases
\item \(0.2 < \omega_i/\omega_0\): the added damping decreases as \(\omega_i/\omega_0\) increases.
\end{itemize}
\section{Integral Force Feedback with Parallel Springs}
\label{sec:orgaa66b9e}
\label{sec:org19946d1}
\label{sec:iff_kp}
In this section additional springs in parallel with the force sensors are added to counteract the negative stiffness induced by the rotation.
Such springs are schematically shown in Figure \ref{fig:system_parallel_springs} where \(k_a\) is the stiffness of the actuator and \(k_p\) the stiffness in parallel with the actuator and force sensor.
In this section additional springs in parallel with the force sensors are added to counteract the negative stiffness induced by the gyroscopic effects.
Such springs are schematically shown in Figure~\ref{fig:system_parallel_springs} where \(k_a\) is the stiffness of the actuator and \(k_p\) the stiffness in parallel with the actuator and force sensor.
Amplified piezoelectric stack actuators can also be used for such purpose where a part of the piezoelectric stack is used as an actuator while the rest is used as a force sensor \cite{souleille18_concep_activ_mount_space_applic}.
The parallel stiffness \(k_p\) then corresponds to the amplification structure.
An example of such system is shown in Figure \ref{fig:cedrat_xy25xs}.
Amplified piezoelectric stack actuators can be used for such purpose where a part of the piezoelectric stack is used as an actuator while the rest is used as a force sensor~\cite{souleille18_concep_activ_mount_space_applic}.
The parallel stiffness \(k_p\) then corresponds to the mechanical amplification structure.
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.9]{figs/fig12.pdf}
\includegraphics[scale=1,scale=0.9]{figs/fig12.pdf}
\caption{\label{fig:system_parallel_springs}Studied system with additional springs in parallel with the actuators and force sensors}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.17]{figs/fig13.pdf}
\caption{\label{fig:cedrat_xy25xs}XY Piezoelectric Stage (XY25XS from Cedrat Technology)}
\end{figure}
\par
The forces \(\begin{bmatrix}f_u & f_v\end{bmatrix}\) measured by the two force sensors represented in Figure \ref{fig:system_parallel_springs} are equal to
The forces measured by the two force sensors represented in Figure~\ref{fig:system_parallel_springs} are described by Eq.~\eqref{eq:measured_force_kp}.
\begin{equation}
\label{eq:measured_force_kp}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} =
@ -425,12 +432,16 @@ The forces \(\begin{bmatrix}f_u & f_v\end{bmatrix}\) measured by the two force s
\begin{bmatrix} d_u \\ d_v \end{bmatrix}
\end{equation}
In order to keep the overall stiffness \(k = k_a + k_p\) constant, thus not modifying the open-loop poles as \(k_p\) is changed, a scalar parameter \(\alpha\) (\(0 \le \alpha < 1\)) is defined to describe the fraction of the total stiffness in parallel with the actuator and force sensor
In order to keep the overall stiffness \(k = k_a + k_p\) constant, thus not modifying the open-loop poles as \(k_p\) is changed, a scalar parameter \(\alpha\) (\(0 \le \alpha < 1\)) is defined to describe the fraction of the total stiffness in parallel with the actuator and force sensor as in Eq.~\eqref{eq:kp_alpha}.
\begin{equation}
\label{eq:kp_alpha}
k_p = \alpha k, \quad k_a = (1 - \alpha) k
\end{equation}
The equations of motion are derived and transformed in the Laplace domain
After the equations of motion derived and transformed in the Laplace domain, the transfer function matrix \(\mathbf{G}_k\) in Eq.~\eqref{eq:Gk_mimo_tf} is computed.
Its elements are shown in Eq.~\eqref{eq:Gk_diag} and~\eqref{eq:Gk_off_diag}.
\begin{equation}
\label{eq:Gk_mimo_tf}
\begin{bmatrix} f_u \\ f_v \end{bmatrix} =
@ -441,120 +452,125 @@ The equations of motion are derived and transformed in the Laplace domain
\begin{subequations}
\label{eq:Gk}
\begin{align}
& \mathbf{G}_{k}(1,1) = \dots \nonumber \\
& {\scriptstyle \frac{\big( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} + \alpha \big) \big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big) + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2}{\big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big)^2 + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2} } \\
& \mathbf{G}_{k}(1,2) = {\scriptscriptstyle \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 - \alpha \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} }
& \mathbf{G}_{k}(1,1) = \mathbf{G}_{k}(2,2) = \dots \nonumber \\
& \quad {\scriptstyle \frac{\big( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} + \alpha \big) \big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big) + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2}{\big( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \big)^2 + \big( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \big)^2} } \label{eq:Gk_diag} \\
& \mathbf{G}_{k}(1,2) = -\mathbf{G}_{k}(2,1) = \dots \nonumber \\
& \quad {\scriptscriptstyle \frac{- \left( 2 \xi \frac{s}{\omega_0} + 1 - \alpha \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)}{\left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2} } \label{eq:Gk_off_diag}
\end{align}
\end{subequations}
Comparing \(\mathbf{G}_k\) \eqref{eq:Gk} with \(\mathbf{G}_f\) \eqref{eq:Gf} shows that while the poles of the system are kept the same, the zeros of the diagonal terms have changed.
The two real zeros \(z_r\) \eqref{eq:iff_zero_real} that were inducing non-minimum phase behavior are transformed into complex conjugate zeros if the following condition hold
Comparing \(\mathbf{G}_k\) in Eq.~\eqref{eq:Gk} with \(\mathbf{G}_f\) in Eq.~\eqref{eq:Gf} shows that while the poles of the system are kept the same, the zeros of the diagonal terms have changed.
The two real zeros \(z_r\) in Eq.~\eqref{eq:iff_zero_real} that were inducing a non-minimum phase behavior are transformed into two complex conjugate zeros if the condition in Eq.~\eqref{eq:kp_cond_cc_zeros} holds.
\begin{equation}
\label{eq:kp_cond_cc_zeros}
\alpha > \frac{\Omega^2}{{\omega_0}^2} \quad \Leftrightarrow \quad k_p > m \Omega^2
\end{equation}
Thus, if the added parallel stiffness \(k_p\) is higher than the negative stiffness induced by centrifugal forces \(m \Omega^2\), the direct dynamics from actuator to force sensor will show minimum phase behavior.
This is confirmed by the Bode plot of the direct dynamics in Figure \ref{fig:plant_iff_kp}.
Thus, if the added parallel stiffness \(k_p\) is higher than the negative stiffness induced by centrifugal forces \(m \Omega^2\), the dynamics from actuator to its collocated force sensor will show minimum phase behavior.
This is confirmed by the Bode plot in Figure~\ref{fig:plant_iff_kp}.
Figure \ref{fig:root_locus_iff_kp} shows Root Loci plots for \(k_p = 0\), \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\) when \(K_F\) is a pure integrator \eqref{eq:Kf_pure_int}.
It is shown that if the added stiffness is higher than the maximum negative stiffness, the poles of the closed-loop system stay in the (stable) right half-plane, and hence the unconditional stability of IFF is recovered.
Figure~\ref{fig:root_locus_iff_kp} shows the Root Locus plots for \(k_p = 0\), \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\) when \(K_F\) is a pure integrator as in Eq.~\eqref{eq:Kf_pure_int}.
It is shown that if the added stiffness is higher than the maximum negative stiffness, the poles of the closed-loop system are bounded on the (stable) left half-plane, and hence the unconditional stability of IFF is recovered.
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.95]{figs/fig14.pdf}
\caption{\label{fig:plant_iff_kp}Bode plot of \(f_u/F_u\) without parallel spring, with parallel springs with stiffness \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\), \(\Omega = 0.1 \omega_0\)}
\includegraphics[scale=1,scale=0.95]{figs/fig13.pdf}
\caption{\label{fig:plant_iff_kp}Bode plot of \(G_{k}(1,1) = f_u/F_u\) without parallel spring, with parallel spring stiffness \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\), \(\Omega = 0.1 \omega_0\)}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.95]{figs/fig15.pdf}
\caption{\label{fig:root_locus_iff_kp}Root Locus for IFF without parallel spring, with parallel springs with stiffness \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\), \(\Omega = 0.1 \omega_0\)}
\includegraphics[scale=1,scale=0.95]{figs/fig14.pdf}
\caption{\label{fig:root_locus_iff_kp}Root Locus for IFF without parallel spring, with parallel spring stiffness \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\), \(\Omega = 0.1 \omega_0\)}
\end{figure}
\par
Even though the parallel stiffness \(k_p\) has no impact on the open-loop poles (as the overall stiffness \(k\) stays constant), it has a large impact on the transmission zeros.
Moreover, as the attainable damping is generally proportional to the distance between poles and zeros \cite{preumont18_vibrat_contr_activ_struc_fourt_edition}, the parallel stiffness \(k_p\) is foreseen to have a large impact on the attainable damping.
Even though the parallel stiffness \(k_p\) has no impact on the open-loop poles (as the overall stiffness \(k\) is kept constant), it has a large impact on the transmission zeros.
Moreover, as the attainable damping is generally proportional to the distance between poles and zeros~\cite{preumont18_vibrat_contr_activ_struc_fourt_edition}, the parallel stiffness \(k_p\) is foreseen to have a large impact on the attainable damping.
To study this effect, Root Locus plots for several parallel stiffnesses \(k_p > m \Omega^2\) are shown in Figure \ref{fig:root_locus_iff_kps}.
The frequencies of the transmission zeros of the system are increasing with the parallel stiffness \(k_p\) and the associated attainable damping is reduced.
Therefore, even though the parallel stiffness \(k_p\) should be larger than \(m \Omega^2\) for stability reasons, it should not be taken too high as this would limit the attainable bandwidth.
To study this effect, Root Locus plots for several parallel stiffnesses \(k_p > m \Omega^2\) are shown in Figure~\ref{fig:root_locus_iff_kps}.
The frequencies of the transmission zeros of the system are increasing with an increase of the parallel stiffness \(k_p\) and the associated attainable damping is reduced.
Therefore, even though the parallel stiffness \(k_p\) should be larger than \(m \Omega^2\) for stability reasons, it should not be taken too large as this would limit the attainable damping.
This is confirmed in Figure \ref{fig:opt_damp_alpha} where the attainable closed-loop damping ratio \(\xi_{\text{cl}}\) and the associated control gain \(g_\text{opt}\) are computed as a function of \(\alpha\).
This is confirmed by the Figure~\ref{fig:opt_damp_alpha} where the attainable closed-loop damping ratio \(\xi_{\text{cl}}\) and the associated optimal control gain \(g_\text{opt}\) are computed as a function of \(\alpha\).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/fig16.pdf}
\caption{\label{fig:root_locus_iff_kps}Comparison the Root Locus for three parallel stiffnessses \(k_p\)}
\includegraphics[scale=1,scale=1]{figs/fig15.pdf}
\caption{\label{fig:root_locus_iff_kps}Comparison of the Root Locus plots for three parallel stiffnessses \(k_p\)}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=0.95]{figs/fig17.pdf}
\caption{\label{fig:opt_damp_alpha}Optimal Damping Ratio \(\xi_\text{opt}\) and the corresponding optimal gain \(g_\text{opt}\) as a function of \(\alpha\)}
\includegraphics[scale=1,scale=0.95]{figs/fig16.pdf}
\caption{\label{fig:opt_damp_alpha}Optimal damping ratio \(\xi_\text{opt}\) and the corresponding optimal gain \(g_\text{opt}\) as a function of \(\alpha\)}
\end{figure}
\section{Comparison and Discussion}
\label{sec:orgd845e3a}
\label{sec:org3688d53}
\label{sec:comparison}
Two modifications to adapt the IFF control strategy to rotating platforms have been proposed in Sections \ref{sec:iff_hpf} and \ref{sec:iff_kp}.
In order to overcome the instability issue of the classical IFF strategy when applied to rotating platforms, two modifications of IFF have been proposed in Sections~\ref{sec:iff_hpf} and~\ref{sec:iff_kp}.
These two methods are now compared in terms of added damping, closed-loop compliance and transmissibility.
For the following comparisons, the cut-off frequency for the HPF is set to \(\omega_i = 0.1 \omega_0\) and the stiffness of the parallel springs is set to \(k_p = 5 m \Omega^2\).
For the following comparisons, the cut-off frequency for the HPF is set to \(\omega_i = 0.1 \omega_0\) and the stiffness of the parallel springs is set to \(k_p = 5 m \Omega^2\) (corresponding to \(\alpha = 0.05\)).
These values are chosen based on the discussion about optimal parameters.
\par
Figure \ref{fig:comp_root_locus} shows the Root Loci for the two proposed IFF modifications.
Figure~\ref{fig:comp_root_locus} shows the Root Locus plots for the two proposed IFF modifications.
While the two pairs of complex conjugate open-loop poles are identical for both techniques, the transmission zeros are not.
This means that the closed-loop behavior of both systems will differ when large control gains are used.
One can observe that the closed loop poles of the system with added springs (in red) are bounded to the left half plane implying unconditional stability.
One can observe that the closed loop poles corresponding to the system with added springs (in red) are bounded to the left half plane implying unconditional stability.
This is not the case for the system where the controller is augmented with an HPF (in blue).
It is interesting to note that the maximum added damping is very similar for both techniques and is reached for the same control gain \(g_\text{opt} \approx 2 \omega_0\).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/fig18.pdf}
\includegraphics[scale=1,scale=1]{figs/fig17.pdf}
\caption{\label{fig:comp_root_locus}Root Locus for the two proposed modifications of decentralized IFF, \(\Omega = 0.1 \omega_0\)}
\end{figure}
\par
The two proposed techniques are now compared in terms of closed-loop transmissibility and compliance.
The transmissibility is defined as the transfer function from the displacement of the rotating stage to the displacement of the payload.
The transmissibility is here defined as the transfer function from a displacement of the rotating stage along \(\vec{i}_x\) to the displacement of the payload along the same direction.
It is used to characterize how much vibration is transmitted through the suspended platform to the payload.
The compliance describes the displacement response of the payload to external forces applied to it.
This is a useful metric when disturbances are directly applied to the payload.
It is here defined as the transfer function from external forces applied on the payload along \(\vec{i}_x\) to the displacement of the payload along the same direction.
The two techniques are also compared with passive damping (Figure \ref{fig:system}) where the damping coefficient \(c\) is tuned to critically damp the resonance when the rotating speed is null.
The two techniques are also compared with passive damping (Figure~\ref{fig:system}) where the damping coefficient \(c\) is tuned to critically damp the resonance when the rotating speed is null as shown in Eq.~\eqref{eq:critical_damp}.
\begin{equation}
\label{eq:critical_damp}
c_\text{crit} = 2 \sqrt{k m}
\end{equation}
Very similar results are obtained for the two proposed IFF modifications in terms of transmissibility (Figure \ref{fig:comp_transmissibility}) and compliance (Figure \ref{fig:comp_compliance}).
Very similar results are obtained for the two proposed IFF modifications in terms of transmissibility (Figure~\ref{fig:comp_transmissibility}) and compliance (Figure~\ref{fig:comp_compliance}).
It is also confirmed that these two techniques can significantly damp the suspension modes.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/fig19.pdf}
\caption{\label{fig:comp_transmissibility}Comparison of the two proposed Active Damping Techniques - Transmissibility}
\includegraphics[scale=1,scale=1]{figs/fig18.pdf}
\caption{\label{fig:comp_transmissibility}Comparison of the two proposed active damping techniques - transmissibility}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/fig20.pdf}
\caption{\label{fig:comp_compliance}Comparison of the two proposed Active Damping Techniques - Compliance}
\includegraphics[scale=1,scale=1]{figs/fig19.pdf}
\caption{\label{fig:comp_compliance}Comparison of the two proposed active damping techniques - compliance}
\end{figure}
On can see in Figure \ref{fig:comp_transmissibility} that the problem of the degradation of the transmissibility at high frequency when using passive damping techniques is overcome by the use of IFF.
On can see in Figure~\ref{fig:comp_transmissibility} that the problem of the degradation of the transmissibility at high frequency when using passive damping techniques is overcome by the use of IFF.
The addition of the HPF or the use of the parallel stiffness permit to limit the degradation of the compliance as compared with classical IFF (Figure \ref{fig:comp_compliance}).
The addition of the HPF or the use of the parallel stiffness also permits to limit the degradation of the compliance as compared with classical IFF (Figure~\ref{fig:comp_compliance}).
\section{Conclusion}
\label{sec:org68f7028}
\label{sec:org2f060ad}
\label{sec:conclusion}
Due to gyroscopic effects, decentralized IFF with pure integrators was shown to be unstable when applied to rotating platforms.
@ -562,7 +578,7 @@ Two modifications of the classical IFF control have been proposed to overcome th
The first modification concerns the controller and consists of adding an high pass filter to the pure integrators.
This is equivalent as to moving the controller pole to the left along the real axis.
This renders the closed loop system stable up to some value of the controller gain \(g_\text{max}\).
This allows the closed loop system to be stable up to some value of the controller gain.
The second proposed modification concerns the mechanical system.
Additional springs are added in parallel with the actuators and force sensors.
@ -570,16 +586,18 @@ It was shown that if the stiffness \(k_p\) of the additional springs is larger t
While having very different implementations, both proposed modifications are very similar when it comes to the attainable damping and the obtained closed loop system behavior.
Future work will focus on the experimental validation of the proposed active damping techniques.
Future work will focus on the experimental validation of the proposed IFF modifications.
The Matlab code that was used for this study is available under a MIT License and archived in Zenodo \cite{dehaeze20_activ_dampin_rotat_posit_platf}.
\section*{Data Availability}
\label{sec:org6c5e786}
Matlab~\cite{matlab20} was used for this study.
The source code is available under a MIT License and archived in Zenodo~\cite{dehaeze20_activ_dampin_rotat_posit_platf}.
\section*{Acknowledgments}
\label{sec:org49166ff}
\label{sec:org2c37487}
This research benefited from a FRIA grant (grant number: FC 31597) from the French Community of Belgium.
This paper is based on a paper previously presented at the ISMA conference~\cite{dehaeze20_activ_dampin_rotat_platf_integ_force_feedb}.
\section*{References}
\label{sec:org8c97a5c}
\bibliographystyle{iopart-num}
\bibliography{ref.bib}
\bibliography{ref}
\end{document}

View File

@ -9,52 +9,43 @@
}
@inproceedings{dehaeze18_sampl_stabil_for_tomog_exper,
author = {Thomas Dehaeze and M. Magnin Mattenet and Christophe Collette},
title = {Sample Stabilization For Tomography Experiments In Presence Of Large Plant Uncertainty},
booktitle = {MEDSI'18},
year = {2018},
number = {10},
pages = {153--157},
doi = {10.18429/JACoW-MEDSI2018-WEOAMA02},
url = {https://doi.org/10.18429/JACoW-MEDSI2018-WEOAMA02},
address = {Geneva, Switzerland},
isbn = {978-3-95450-207-3},
language = {english},
month = {Dec},
publisher = {JACoW Publishing},
series = {Mechanical Engineering Design of Synchrotron Radiation Equipment and Instrumentation},
venue = {Paris, France},
tags = {nass},
author = {Thomas Dehaeze and M. Magnin Mattenet and Christophe
Collette},
title = {Sample Stabilization For Tomography Experiments In Presence
Of Large Plant Uncertainty},
booktitle = {MEDSI'18},
year = 2018,
number = 10,
pages = {153--157},
doi = {10.18429/JACoW-MEDSI2018-WEOAMA02},
url = {https://doi.org/10.18429/JACoW-MEDSI2018-WEOAMA02},
address = {Geneva, Switzerland},
isbn = {978-3-95450-207-3},
language = {english},
month = {Dec},
publisher = {JACoW Publishing},
series = {Mechanical Engineering Design of Synchrotron Radiation
Equipment and Instrumentation},
venue = {Paris, France},
}
@book{skogestad07_multiv_feedb_contr,
author = {Skogestad, Sigurd and Postlethwaite, Ian},
title = {Multivariable Feedback Control: Analysis and Design},
year = {2007},
publisher = {John Wiley},
isbn = {9780470011683},
author = {Skogestad, Sigurd and Postlethwaite, Ian},
title = {Multivariable Feedback Control: Analysis and Design},
year = 2007,
publisher = {John Wiley},
isbn = 9780470011683,
}
@book{preumont18_vibrat_contr_activ_struc_fourt_edition,
author = {Andre Preumont},
title = {Vibration Control of Active Structures - Fourth Edition},
year = {2018},
publisher = {Springer International Publishing},
url = {https://doi.org/10.1007/978-3-319-72296-2},
doi = {10.1007/978-3-319-72296-2},
pages = {nil},
series = {Solid Mechanics and Its Applications},
}
@article{souleille18_concep_activ_mount_space_applic,
author = {Souleille, Adrien and Lampert, Thibault and Lafarga, V and Hellegouarch, Sylvain and Rondineau, Alan and Rodrigues, Gon{\c{c}}alo and Collette, Christophe},
title = {A Concept of Active Mount for Space Applications},
journal = {CEAS Space Journal},
volume = {10},
number = {2},
pages = {157--165},
year = {2018},
publisher = {Springer},
author = {Andre Preumont},
title = {Vibration Control of Active Structures - Fourth Edition},
year = 2018,
publisher = {Springer International Publishing},
url = {https://doi.org/10.1007/978-3-319-72296-2},
doi = {10.1007/978-3-319-72296-2},
pages = {nil},
series = {Solid Mechanics and Its Applications},
}
@inproceedings{preumont91_activ,
@ -71,19 +62,22 @@
}
@article{preumont08_trans_zeros_struc_contr_with,
author = {Preumont, Andr{\'e} and De Marneffe, Bruno and Krenk, Steen},
title = {Transmission Zeros in Structural Control With Collocated Multi-Input/multi-Output Pairs},
journal = {Journal of guidance, control, and dynamics},
volume = {31},
number = {2},
pages = {428--432},
year = {2008},
author = {Preumont, Andr{\'e} and De Marneffe, Bruno and Krenk,
Steen},
title = {Transmission Zeros in Structural Control With Collocated
Multi-Input/multi-Output Pairs},
journal = {Journal of guidance, control, and dynamics},
volume = 31,
number = 2,
pages = {428--432},
year = 2008,
doi = {10.2514/1.31529},
url = {https://doi.org/10.2514/1.31529},
}
@article{preumont02_force_feedb_versus_accel_feedb,
author = {A. Preumont and A. Fran{\c{c}}ois and F. Bossens and A.
Abu-Hanieh},
author = {Preumont, Andr{\'e} and A. Fran{\c{c}}ois and F. Bossens
and A. Abu-Hanieh},
title = {Force Feedback Versus Acceleration Feedback in Active
Vibration Isolation},
journal = {Journal of Sound and Vibration},
@ -105,4 +99,264 @@
number = 2,
pages = {390--395},
year = 1992,
doi = 10.2514/3.20848,
url = {https://doi.org/10.2514/3.20848},
}
@article{teo15_optim_integ_force_feedb_activ_vibrat_contr,
author = {Yik R. Teo and Andrew J. Fleming},
title = {Optimal Integral Force Feedback for Active Vibration
Control},
journal = {Journal of Sound and Vibration},
volume = 356,
pages = {20--33},
year = 2015,
doi = {10.1016/j.jsv.2015.06.046},
url = {https://doi.org/10.1016/j.jsv.2015.06.046},
month = {nov},
publisher = {Elsevier {BV}},
}
@phdthesis{hanieh03_activ_stewar,
author = {Hanieh, Ahmed Abu},
school = {Universit{\'e} Libre de Bruxelles, Brussels, Belgium},
title = {Active isolation and damping of vibrations via Stewart
platform},
year = 2003,
}
@article{hauge04_sensor_contr_space_based_six,
author = {G.S. Hauge and M.E. Campbell},
title = {Sensors and Control of a Space-Based Six-Axis Vibration
Isolation System},
journal = {Journal of Sound and Vibration},
volume = 269,
number = {3-5},
pages = {913-931},
year = 2004,
doi = {10.1016/s0022-460x(03)00206-2},
url = {https://doi.org/10.1016/s0022-460x(03)00206-2},
}
@article{souleille18_concep_activ_mount_space_applic,
author = {Souleille, Adrien and Lampert, Thibault and Lafarga, V and
Hellegouarch, Sylvain and Rondineau, Alan and Rodrigues,
Gon{\c{c}}alo and Collette, Christophe},
title = {A Concept of Active Mount for Space Applications},
journal = {CEAS Space Journal},
volume = 10,
number = 2,
pages = {157--165},
year = 2018,
doi = {10.1007/s12567-017-0180-6},
url = {https://doi.org/10.1007/s12567-017-0180-6},
publisher = {Springer},
}
@article{yoshioka01_activ_microv_isolat_system_hi,
author = {H. Yoshioka and Y. Takahashi and K. Katayama and T. Imazawa
and N. Murai},
title = {An Active Microvibration Isolation System for Hi-Tech
Manufacturing Facilities},
journal = {Journal of Vibration and Acoustics},
volume = 123,
number = 2,
pages = 269,
year = 2001,
doi = {10.1115/1.1350566},
url = {https://doi.org/10.1115/1.1350566},
}
@article{lan08_activ_vibrat_isolat_long_range,
author = {Kuo-Jung Lan and Jia-Yush Yen and John A. Kramar},
title = {Active Vibration Isolation for a Long Range Scanning
Tunneling Microscope},
journal = {Asian Journal of Control},
volume = 6,
number = 2,
pages = {179-186},
year = 2008,
doi = {10.1111/j.1934-6093.2004.tb00196.x},
url = {https://doi.org/10.1111/j.1934-6093.2004.tb00196.x},
}
@article{fleming15_low_order_dampin_track_contr,
author = {Andrew J. Fleming and Yik Ren Teo and Kam K. Leang},
title = {Low-Order Damping and Tracking Control for Scanning Probe
Systems},
journal = {Frontiers in Mechanical Engineering},
volume = 1,
number = {nil},
pages = {nil},
year = 2015,
doi = {10.3389/fmech.2015.00014},
url = {https://doi.org/10.3389/fmech.2015.00014},
}
@article{matichard15_seism_isolat_advan_ligo,
author = {Matichard, F and Lantz, B and Mittleman, R and Mason, K and
Kissel, J and Abbott, B and Biscans, S and McIver, J and
Abbott, R and Abbott, S and others},
title = {Seismic Isolation of Advanced Ligo: Review of Strategy,
Instrumentation and Performance},
journal = {Classical and Quantum Gravity},
volume = 32,
number = 18,
pages = 185003,
year = 2015,
doi = 10.1088/0264-9381/32/18/185003,
url = {https://doi.org/10.1088/0264-9381/32/18/185003},
publisher = {IOP Publishing},
}
@article{collette10_activ_quadr_stabil_futur_linear_partic_collid,
author = {Collette, Christophe and Artoos, Kurt and Kuzmin, A and
Janssens, S and Sylte, Magnus and Guinchard, Michael and
Hauviller, Claude},
title = {Active Quadrupole Stabilization for Future Linear Particle
Colliders},
journal = {Nuclear Instruments and Methods in Physics Research Section
A: Accelerators, Spectrometers, Detectors and Associated
Equipment},
volume = 621,
number = {1-3},
pages = {71--78},
year = 2010,
doi = 10.1016/j.nima.2010.05.020,
url = {https://doi.org/10.1016/j.nima.2010.05.020},
publisher = {Elsevier},
}
@misc{reilly06_critic,
author = {Reilly, S P and Leach, R K},
note = {NPL Report},
title = {Critical review of seismic vibration isolation techniques},
year = 2006,
}
@phdthesis{poel10_explor_activ_hard_mount_vibrat,
author = {van der Poel, Gerrit Wijnand},
doi = {10.3990/1.9789036530163},
isbn = {978-90-365-3016-3},
keywords = {parallel robot},
school = {University of Twente},
title = {An Exploration of Active Hard Mount Vibration Isolation for
Precision Equipment},
url = {https://doi.org/10.3990/1.9789036530163},
year = 2010,
}
@article{collette11_review_activ_vibrat_isolat_strat,
author = {Christophe Collette and Stef Janssens and Kurt Artoos},
title = {Review of Active Vibration Isolation Strategies},
journal = {Recent Patents on Mechanical Engineeringe},
volume = 4,
number = 3,
pages = {212-219},
year = 2011,
doi = {10.2174/2212797611104030212},
url = {https://doi.org/10.2174/2212797611104030212},
}
@article{lin06_distur_atten_precis_hexap_point,
author = {Haomin Lin and John E. McInroy},
title = {Disturbance Attenuation in Precise Hexapod Pointing Using
Positive Force Feedback},
journal = {Control Engineering Practice},
volume = 14,
number = 11,
pages = {1377-1386},
year = 2006,
doi = {10.1016/j.conengprac.2005.10.002},
url = {https://doi.org/10.1016/j.conengprac.2005.10.002},
}
@article{fanson90_posit_posit_feedb_contr_large_space_struc,
author = {Fanson, JL and Caughey, T Kv},
title = {Positive Position Feedback Control for Large Space
Structures},
journal = {AIAA journal},
volume = 28,
number = 4,
pages = {717--724},
year = 1990,
doi = 10.2514/3.10451,
url = {https://doi.org/10.2514/3.10451},
}
@article{karnopp74_vibrat_contr_using_semi_activ_force_gener,
author = {Karnopp, Dean and Crosby, Michael J and Harwood, RA},
title = {Vibration Control Using Semi-Active Force Generators},
journal = {Journal of Engineering for Industry},
year = 1974,
doi = {10.1115/1.3438373},
url = {https://doi.org/10.1115/1.3438373},
}
@article{serrand00_multic_feedb_contr_isolat_base_excit_vibrat,
author = {Serrand, M and Elliott, SJ},
title = {Multichannel Feedback Control for the Isolation of
Base-Excited Vibration},
journal = {Journal of Sound and Vibration},
volume = 234,
number = 4,
pages = {681--704},
year = 2000,
doi = 10.1006/jsvi.2000.2891,
url = {https://doi.org/10.1006/jsvi.2000.2891},
publisher = {Elsevier},
}
@article{chesne16_enhan_dampin_flexib_struc_using_force_feedb,
author = {Simon Chesn{\'e} and Ariston Milhomem and Christophe
Collette},
title = {Enhanced Damping of Flexible Structures Using Force
Feedback},
journal = {Journal of Guidance, Control, and Dynamics},
volume = 39,
number = 7,
pages = {1654-1658},
year = 2016,
doi = {10.2514/1.g001620},
url = {https://doi.org/10.2514/1.g001620},
}
@article{zhao19_optim_integ_force_feedb_contr,
author = {Zhao, Guoying and Paknejad, A and Deraemaeker, Arnaud and
Collette, Christophe},
title = {$\mathcal{H}_\infty$ Optimization of an Integral Force
Feedback Controller},
journal = {Journal of Vibration and Control},
volume = 25,
number = 17,
pages = {2330--2339},
year = 2019,
doi = 10.1177/1077546319853165,
url = {https://doi.org/10.1177/1077546319853165},
publisher = {SAGE Publications Sage UK: London, England},
}
@phdthesis{marneffe07_activ_passiv_vibrat_isolat_dampin_shunt_trans,
author = {de Marneffe, Bruno},
school = {Universit{\'e} Libre de Bruxelles, Brussels, Belgium},
title = {Active and Passive Vibration Isolation and Damping via
Shunted Transducers},
year = 2007,
}
@book{matlab20,
author = {MATLAB},
title = {version 9.9.0 (R2020b)},
year = 2020,
publisher = {The MathWorks Inc.},
address = {Natick, Massachusetts},
}
@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,
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 KiB

After

Width:  |  Height:  |  Size: 429 KiB

File diff suppressed because it is too large Load Diff

View File

@ -6,8 +6,14 @@
#+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>
#+LATEX_CLASS: cleanreport
#+LATEX_CLASS_OPTIONS: [tocnp, secbreak, minted]
#+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
@ -19,8 +25,14 @@
#+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:
This document gathers the Matlab code used to for the paper cite:dehaeze20_activ_dampin_rotat_platf_integ_force_feedb.
This document gathers the Matlab code used to for the conference paper cite:dehaeze20_activ_dampin_rotat_platf_integ_force_feedb and the journal paper cite:dehaeze21_activ_dampin_rotat_platf_using.
It is structured in several sections:
- Section [[sec:system_description]]: presents a simple model of a rotating suspended platform that will be used throughout this study.
@ -30,7 +42,7 @@ It is structured in several sections:
- Section [[sec:comparison]]: compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.
- Section [[sec:notations]]: contains the notations used for both the Matlab code and the paper
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.
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.
@ -2131,8 +2143,9 @@ Critical Damping corresponds to to $\xi = 1$, and thus:
| Frequency | $\omega$ | =w= | [rad/s] |
* Bibliography :ignore:
bibliographystyle:unsrt
#+latex: \printbibliography
bibliography:ref.bib
* Functions :noexport:
** Sort Poles for the Root Locus
:PROPERTIES:
@ -2291,3 +2304,4 @@ This Matlab function is accessible [[file:src/rootLocusPolesSorted.m][here]].
end
end
#+end_src

BIN
matlab/index.pdf Normal file

Binary file not shown.

950
matlab/index.tex Normal file
View File

@ -0,0 +1,950 @@
% Created 2021-02-20 sam. 14:43
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full]{scrreprt}
\input{preamble.tex}
\addbibresource{ref.bib}
\author{Thomas Dehaeze}
\date{\today}
\title{Active Damping of Rotating Platforms using Integral Force Feedback - Matlab Computation}
\hypersetup{
pdfauthor={Thomas Dehaeze},
pdftitle={Active Damping of Rotating Platforms using Integral Force Feedback - Matlab Computation},
pdfkeywords={},
pdfsubject={},
pdfcreator={Emacs 27.1 (Org mode 9.5)},
pdflang={English}}
\begin{document}
\maketitle
\tableofcontents
This document gathers the Matlab code used to for the conference paper \cite{dehaeze20_activ_dampin_rotat_platf_integ_force_feedb} and the journal paper \cite{dehaeze21_activ_dampin_rotat_platf_using}.
It is structured in several sections:
\begin{itemize}
\item Section \ref{sec:system_description}: presents a simple model of a rotating suspended platform that will be used throughout this study.
\item Section \ref{sec:iff_pure_int}: explains how the unconditional stability of IFF is lost due to Gyroscopic effects induced by the rotation.
\item Section \ref{sec:iff_pseudo_int}: suggests a simple modification of the control law such that damping can be added to the suspension modes in a robust way.
\item Section \ref{sec:iff_parallel_stiffness}: proposes to add springs in parallel with the force sensors to regain the unconditional stability of IFF.
\item Section \ref{sec:comparison}: compares both proposed modifications to the classical IFF in terms of damping authority and closed-loop system behavior.
\item Section \ref{sec:notations}: contains the notations used for both the Matlab code and the paper
\end{itemize}
The matlab code is accessible on \href{https://zenodo.org/record/3894343}{Zonodo} and \href{https://github.com/tdehaeze/dehaeze20\_contr\_stewa\_platf}{Github} \cite{dehaeze20_activ_dampin_rotat_posit_platf}. It can also be download as a \texttt{.zip} file \href{matlab.zip}{here}.
To run the Matlab code, go in the \texttt{matlab} directory and run the following Matlab files corresponding to each section.
\begin{table}[htbp]
\caption{Paper's sections and corresponding Matlab files}
\centering
\begin{tabular}{ll}
Sections & Matlab File\\
\hline
Section \ref{sec:system_description} & \texttt{s1\_system\_description.m}\\
Section \ref{sec:iff_pure_int} & \texttt{s2\_iff\_pure\_int.m}\\
Section \ref{sec:iff_pseudo_int} & \texttt{s3\_iff\_hpf.m}\\
Section \ref{sec:iff_parallel_stiffness} & \texttt{s4\_iff\_kp.m}\\
Section \ref{sec:comparison} & \texttt{s5\_act\_damp\_comparison.m}\\
\end{tabular}
\end{table}
\chapter{System Description and Analysis}
\label{sec:org866deeb}
\label{sec:system_description}
\section{System description}
\label{sec:org597d9d5}
The system consists of one 2 degree of freedom translation stage on top of a spindle (figure \ref{fig:system}).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs-paper/system.png}
\caption{\label{fig:system}Schematic of the studied system}
\end{figure}
The control inputs are the forces applied by the actuators of the translation stage (\(F_u\) and \(F_v\)).
As the translation stage is rotating around the Z axis due to the spindle, the forces are applied along \(\vec{i}_u\) and \(\vec{i}_v\).
\section{Equations}
\label{sec:orge2ee0c6}
Based on the Figure \ref{fig:system}, the equations of motions are:
\begin{important}
\begin{equation}
\begin{bmatrix} d_u \\ d_v \end{bmatrix} =
\bm{G}_d
\begin{bmatrix} F_u \\ F_v \end{bmatrix}
\end{equation}
Where \(\bm{G}_d\) is a \(2 \times 2\) transfer function matrix.
\begin{equation}
\bm{G}_d = \frac{1}{k} \frac{1}{G_{dp}}
\begin{bmatrix}
G_{dz} & G_{dc} \\
-G_{dc} & G_{dz}
\end{bmatrix}
\end{equation}
With:
\begin{align}
G_{dp} &= \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2 \\
G_{dz} &= \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \\
G_{dc} &= 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0}
\end{align}
\end{important}
\section{Numerical Values}
\label{sec:orgafc7947}
Let's define initial values for the model.
\begin{minted}[]{matlab}
k = 1; % Actuator Stiffness [N/m]
c = 0.05; % Actuator Damping [N/(m/s)]
m = 1; % Payload mass [kg]
\end{minted}
\begin{minted}[]{matlab}
xi = c/(2*sqrt(k*m));
w0 = sqrt(k/m); % [rad/s]
\end{minted}
\section{Campbell Diagram}
\label{sec:org008e1a4}
The Campbell Diagram displays the evolution of the real and imaginary parts of the system as a function of the rotating speed.
It is shown in Figures \ref{fig:campbell_diagram_real} and \ref{fig:campbell_diagram_imag}, and one can see that the system becomes unstable for \(\Omega > \omega_0\) (the real part of one of the poles becomes positive).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/campbell_diagram_real.png}
\caption{\label{fig:campbell_diagram_real}Campbell Diagram - Real Part}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/campbell_diagram_imag.png}
\caption{\label{fig:campbell_diagram_imag}Campbell Diagram - Imaginary Part}
\end{figure}
\section{Simscape Model}
\label{sec:org50f1e50}
In order to validate all the equations of motion, a Simscape model of the same system has been developed.
The dynamics of the system can be identified from the Simscape model and compare with the analytical model.
The rotating speed for the Simscape Model is defined.
\begin{minted}[]{matlab}
W = 0.1; % Rotation Speed [rad/s]
\end{minted}
\begin{minted}[]{matlab}
open('rotating_frame.slx');
\end{minted}
The transfer function from \([F_u, F_v]\) to \([d_u, d_v]\) is identified from the Simscape model.
\begin{minted}[]{matlab}
%% Name of the Simulink File
mdl = 'rotating_frame';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/G'], 2, 'openoutput'); io_i = io_i + 1;
\end{minted}
\begin{minted}[]{matlab}
G = linearize(mdl, io, 0);
%% Input/Output definition
G.InputName = {'Fu', 'Fv'};
G.OutputName = {'du', 'dv'};
\end{minted}
The same transfer function from \([F_u, F_v]\) to \([d_u, d_v]\) is written down from the analytical model.
\begin{minted}[]{matlab}
Gth = (1/k)/(((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))^2 + (2*W*s/(w0^2))^2) * ...
[(s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2), 2*W*s/(w0^2) ; ...
-2*W*s/(w0^2), (s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2)];
\end{minted}
Both transfer functions are compared in Figure \ref{fig:plant_simscape_analytical} and are found to perfectly match.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/plant_simscape_analytical.png}
\caption{\label{fig:plant_simscape_analytical}Bode plot of the transfer function from \([F_u, F_v]\) to \([d_u, d_v]\) as identified from the Simscape model and from an analytical model}
\end{figure}
\section{Effect of the rotation speed}
\label{sec:org6d643e3}
The transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) are identified for the following rotating speeds.
\begin{minted}[]{matlab}
Ws = [0, 0.2, 0.7, 1.1]*w0; % Rotating Speeds [rad/s]
\end{minted}
\begin{minted}[]{matlab}
Gs = {zeros(2, 2, length(Ws))};
for W_i = 1:length(Ws)
W = Ws(W_i);
Gs(:, :, W_i) = {(1/k)/(((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))^2 + (2*W*s/(w0^2))^2) * ...
[(s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2), 2*W*s/(w0^2) ; ...
-2*W*s/(w0^2), (s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2)]};
end
\end{minted}
They are compared in Figures \ref{fig:plant_compare_rotating_speed_direct} and \ref{fig:plant_compare_rotating_speed_coupling}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/plant_compare_rotating_speed_direct.png}
\caption{\label{fig:plant_compare_rotating_speed_direct}Comparison of the transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) for several rotating speed - Direct Terms}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/plant_compare_rotating_speed_coupling.png}
\caption{\label{fig:plant_compare_rotating_speed_coupling}Comparison of the transfer functions from \([F_u, F_v]\) to \([d_u, d_v]\) for several rotating speed - Coupling Terms}
\end{figure}
\chapter{Problem with pure Integral Force Feedback}
\label{sec:org02f3cde}
\label{sec:iff_pure_int}
Force sensors are added in series with the two actuators (Figure \ref{fig:system_iff}).
Two identical controllers \(K_F\) are used to feedback each of the sensed force to its associated actuator.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs-paper/system_iff.png}
\caption{\label{fig:system_iff}System with added Force Sensor in series with the actuators}
\end{figure}
\section{Plant Parameters}
\label{sec:orgd2d5c32}
Let's define initial values for the model.
\begin{minted}[]{matlab}
k = 1; % Actuator Stiffness [N/m]
c = 0.05; % Actuator Damping [N/(m/s)]
m = 1; % Payload mass [kg]
\end{minted}
\begin{minted}[]{matlab}
xi = c/(2*sqrt(k*m));
w0 = sqrt(k/m); % [rad/s]
\end{minted}
\section{Equations}
\label{sec:orgad8546b}
The sensed forces are equal to:
\begin{equation}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} =
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
\begin{bmatrix} F_u \\ F_v \end{bmatrix} - (c s + k)
\begin{bmatrix} d_u \\ d_v \end{bmatrix}
\end{equation}
Which then gives:
\begin{important}
\begin{equation}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} =
\bm{G}_{f}
\begin{bmatrix} F_u \\ F_v \end{bmatrix}
\end{equation}
\begin{equation}
\begin{bmatrix} f_{u} \\ f_{v} \end{bmatrix} =
\frac{1}{G_{fp}}
\begin{bmatrix}
G_{fz} & -G_{fc} \\
G_{fc} & G_{fz}
\end{bmatrix}
\begin{bmatrix} F_u \\ F_v \end{bmatrix}
\end{equation}
\begin{align}
G_{fp} &= \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2 \\
G_{fz} &= \left( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} \right) \left( \frac{s^2}{{\omega_0}^2} + 2 \xi \frac{s}{\omega_0} + 1 - \frac{{\Omega}^2}{{\omega_0}^2} \right) + \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)^2 \\
G_{fc} &= \left( 2 \xi \frac{s}{\omega_0} + 1 \right) \left( 2 \frac{\Omega}{\omega_0} \frac{s}{\omega_0} \right)
\end{align}
\end{important}
\section{Comparison of the Analytical Model and the Simscape Model}
\label{sec:org5d37f2f}
The rotation speed is set to \(\Omega = 0.1 \omega_0\).
\begin{minted}[]{matlab}
W = 0.1*w0; % [rad/s]
\end{minted}
\begin{minted}[]{matlab}
open('rotating_frame.slx');
\end{minted}
And the transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) is identified using the Simscape model.
\begin{minted}[]{matlab}
%% Name of the Simulink File
mdl = 'rotating_frame';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/G'], 1, 'openoutput'); io_i = io_i + 1;
\end{minted}
\begin{minted}[]{matlab}
Giff = linearize(mdl, io, 0);
%% Input/Output definition
Giff.InputName = {'Fu', 'Fv'};
Giff.OutputName = {'fu', 'fv'};
\end{minted}
The same transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) is written down from the analytical model.
\begin{minted}[]{matlab}
Giff_th = 1/(((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))^2 + (2*W*s/(w0^2))^2) * ...
[(s^2/w0^2 - W^2/w0^2)*((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2)) + (2*W*s/(w0^2))^2, - (2*xi*s/w0 + 1)*2*W*s/(w0^2) ; ...
(2*xi*s/w0 + 1)*2*W*s/(w0^2), (s^2/w0^2 - W^2/w0^2)*((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))+ (2*W*s/(w0^2))^2];
\end{minted}
The two are compared in Figure \ref{fig:plant_iff_comp_simscape_analytical} and found to perfectly match.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/plant_iff_comp_simscape_analytical.png}
\caption{\label{fig:plant_iff_comp_simscape_analytical}Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) between the Simscape model and the analytical one}
\end{figure}
\section{Effect of the rotation speed}
\label{sec:org17fee48}
The transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) are identified for the following rotating speeds.
\begin{minted}[]{matlab}
Ws = [0, 0.2, 0.7]*w0; % Rotating Speeds [rad/s]
\end{minted}
\begin{minted}[]{matlab}
Gsiff = {zeros(2, 2, length(Ws))};
for W_i = 1:length(Ws)
W = Ws(W_i);
Gsiff(:, :, W_i) = {1/(((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))^2 + (2*W*s/(w0^2))^2) * ...
[(s^2/w0^2 - W^2/w0^2)*((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2)) + (2*W*s/(w0^2))^2, - (2*xi*s/w0 + 1)*2*W*s/(w0^2) ; ...
(2*xi*s/w0 + 1)*2*W*s/(w0^2), (s^2/w0^2 - W^2/w0^2)*((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))+ (2*W*s/(w0^2))^2]};
end
\end{minted}
The obtained transfer functions are shown in Figure \ref{fig:plant_iff_compare_rotating_speed}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/plant_iff_compare_rotating_speed.png}
\caption{\label{fig:plant_iff_compare_rotating_speed}Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) for several rotating speed}
\end{figure}
\section{Decentralized Integral Force Feedback}
\label{sec:org2d5427a}
The decentralized IFF controller consists of pure integrators:
\begin{equation}
\bm{K}_{\text{IFF}}(s) = \frac{g}{s} \begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
\end{equation}
The Root Locus (evolution of the poles of the closed loop system in the complex plane as a function of \(g\)) is shown in Figure \ref{fig:root_locus_pure_iff}.
It is shown that for non-null rotating speed, one pole is bound to the right-half plane, and thus the closed loop system is unstable.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/root_locus_pure_iff.png}
\caption{\label{fig:root_locus_pure_iff}Root Locus for the Decentralized Integral Force Feedback controller. Several rotating speed are shown.}
\end{figure}
\chapter{Integral Force Feedback with an High Pass Filter}
\label{sec:orgf9854e9}
\label{sec:iff_pseudo_int}
\section{Plant Parameters}
\label{sec:org11b9a15}
Let's define initial values for the model.
\begin{minted}[]{matlab}
k = 1; % Actuator Stiffness [N/m]
c = 0.05; % Actuator Damping [N/(m/s)]
m = 1; % Payload mass [kg]
\end{minted}
\begin{minted}[]{matlab}
xi = c/(2*sqrt(k*m));
w0 = sqrt(k/m); % [rad/s]
\end{minted}
\section{Modified Integral Force Feedback Controller}
\label{sec:orgf920a8a}
Let's modify the initial Integral Force Feedback Controller ; instead of using pure integrators, pseudo integrators (i.e. low pass filters) are used:
\begin{equation}
K_{\text{IFF}}(s) = g\frac{1}{\omega_i + s} \begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
\end{equation}
where \(\omega_i\) characterize down to which frequency the signal is integrated.
Let's arbitrary choose the following control parameters:
\begin{minted}[]{matlab}
g = 2;
wi = 0.1*w0;
\end{minted}
And the following rotating speed.
\begin{minted}[]{matlab}
Giff = 1/(((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))^2 + (2*W*s/(w0^2))^2) * ...
[(s^2/w0^2 - W^2/w0^2)*((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2)) + (2*W*s/(w0^2))^2, - (2*xi*s/w0 + 1)*2*W*s/(w0^2) ; ...
(2*xi*s/w0 + 1)*2*W*s/(w0^2), (s^2/w0^2 - W^2/w0^2)*((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))+ (2*W*s/(w0^2))^2];
\end{minted}
The obtained Loop Gain is shown in Figure \ref{fig:loop_gain_modified_iff}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/loop_gain_modified_iff.png}
\caption{\label{fig:loop_gain_modified_iff}Loop Gain for the modified IFF controller}
\end{figure}
\section{Root Locus}
\label{sec:org911f45b}
As shown in the Root Locus plot (Figure \ref{fig:root_locus_modified_iff}), for some value of the gain, the system remains stable.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/root_locus_modified_iff.png}
\caption{\label{fig:root_locus_modified_iff}Root Locus for the modified IFF controller}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/root_locus_modified_iff_zoom.png}
\caption{\label{fig:root_locus_modified_iff_zoom}Root Locus for the modified IFF controller - Zoom}
\end{figure}
\section{What is the optimal \(\omega_i\) and \(g\)?}
\label{sec:org028e747}
In order to visualize the effect of \(\omega_i\) on the attainable damping, the Root Locus is displayed in Figure \ref{fig:root_locus_wi_modified_iff} for the following \(\omega_i\):
\begin{minted}[]{matlab}
wis = [0.01, 0.1, 0.5, 1]*w0; % [rad/s]
\end{minted}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/root_locus_wi_modified_iff.png}
\caption{\label{fig:root_locus_wi_modified_iff}Root Locus for the modified IFF controller (zoomed plot on the left)}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/root_locus_wi_modified_iff_zoom.png}
\caption{\label{fig:root_locus_wi_modified_iff_zoom}Root Locus for the modified IFF controller (zoomed plot on the left)}
\end{figure}
For the controller
\begin{equation}
K_{\text{IFF}}(s) = g\frac{1}{\omega_i + s} \begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
\end{equation}
The gain at which the system becomes unstable is
\begin{equation}
g_\text{max} = \omega_i \left( \frac{{\omega_0}^2}{\Omega^2} - 1 \right) \label{eq:iff_gmax}
\end{equation}
While it seems that small \(\omega_i\) do allow more damping to be added to the system (Figure \ref{fig:root_locus_wi_modified_iff}), the control gains may be limited to small values due to \eqref{eq:iff_gmax} thus reducing the attainable damping.
There must be an optimum for \(\omega_i\).
To find the optimum, the gain that maximize the simultaneous damping of the mode is identified for a wide range of \(\omega_i\) (Figure \ref{fig:mod_iff_damping_wi}).
\begin{minted}[]{matlab}
wis = logspace(-2, 1, 100)*w0; % [rad/s]
opt_xi = zeros(1, length(wis)); % Optimal simultaneous damping
opt_gain = zeros(1, length(wis)); % Corresponding optimal gain
for wi_i = 1:length(wis)
wi = wis(wi_i);
Kiff = 1/(s + wi)*eye(2);
fun = @(g)computeSimultaneousDamping(g, Giff, Kiff);
[g_opt, xi_opt] = fminsearch(fun, 0.5*wi*((w0/W)^2 - 1));
opt_xi(wi_i) = 1/xi_opt;
opt_gain(wi_i) = g_opt;
end
\end{minted}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/mod_iff_damping_wi.png}
\caption{\label{fig:mod_iff_damping_wi}Simultaneous attainable damping of the closed loop poles as a function of \(\omega_i\)}
\end{figure}
\chapter{IFF with a stiffness in parallel with the force sensor}
\label{sec:orgc5ba04a}
\label{sec:iff_parallel_stiffness}
\section{Schematic}
\label{sec:orgc647af5}
In this section additional springs in parallel with the force sensors are added to counteract the negative stiffness induced by the rotation.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs-paper/system_parallel_springs.png}
\caption{\label{fig:system_parallel_springs}Studied system with additional springs in parallel with the actuators and force sensors}
\end{figure}
In order to keep the overall stiffness \(k = k_a + k_p\) constant, a scalar parameter \(\alpha\) (\(0 \le \alpha < 1\)) is defined to describe the fraction of the total stiffness in parallel with the actuator and force sensor
\begin{equation}
k_p = \alpha k, \quad k_a = (1 - \alpha) k
\end{equation}
\section{Equations}
\label{sec:org0de17db}
\begin{important}
\begin{equation}
\begin{bmatrix} f_u \\ f_v \end{bmatrix} =
\bm{G}_k
\begin{bmatrix} F_u \\ F_v \end{bmatrix}
\end{equation}
\begin{equation}
\begin{bmatrix} f_u \\ f_v \end{bmatrix} =
\frac{1}{G_{kp}}
\begin{bmatrix}
G_{kz} & -G_{kc} \\
G_{kc} & G_{kz}
\end{bmatrix}
\begin{bmatrix} F_u \\ F_v \end{bmatrix}
\end{equation}
With:
\begin{align}
G_{kp} &= \left( \frac{s^2}{{\omega_0}^2} + 2\xi \frac{s}{{\omega_0}^2} + 1 - \frac{\Omega^2}{{\omega_0}^2} \right)^2 + \left( 2 \frac{\Omega}{\omega_0}\frac{s}{\omega_0} \right)^2 \\
G_{kz} &= \left( \frac{s^2}{{\omega_0}^2} - \frac{\Omega^2}{{\omega_0}^2} + \alpha \right) \left( \frac{s^2}{{\omega_0}^2} + 2\xi \frac{s}{{\omega_0}^2} + 1 - \frac{\Omega^2}{{\omega_0}^2} \right) + \left( 2 \frac{\Omega}{\omega_0}\frac{s}{\omega_0} \right)^2 \\
G_{kc} &= \left( 2 \xi \frac{s}{\omega_0} + 1 - \alpha \right) \left( 2 \frac{\Omega}{\omega_0}\frac{s}{\omega_0} \right)
\end{align}
\end{important}
If we compare \(G_{kz}\) and \(G_{fz}\), we see that the spring in parallel adds a term \(\alpha\).
In order to have two complex conjugate zeros (instead of real zeros):
\begin{equation}
\alpha > \frac{\Omega^2}{{\omega_0}^2} \quad \Leftrightarrow \quad k_p > m \Omega^2
\end{equation}
\section{Plant Parameters}
\label{sec:orga1e1958}
Let's define initial values for the model.
\begin{minted}[]{matlab}
k = 1; % Actuator Stiffness [N/m]
c = 0.05; % Actuator Damping [N/(m/s)]
m = 1; % Payload mass [kg]
\end{minted}
\begin{minted}[]{matlab}
xi = c/(2*sqrt(k*m));
w0 = sqrt(k/m); % [rad/s]
\end{minted}
\section{Comparison of the Analytical Model and the Simscape Model}
\label{sec:orgbea84d1}
The same transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) is written down from the analytical model.
\begin{minted}[]{matlab}
W = 0.1*w0; % [rad/s]
kp = 1.5*m*W^2;
cp = 0;
\end{minted}
\begin{minted}[]{matlab}
open('rotating_frame.slx');
\end{minted}
\begin{minted}[]{matlab}
%% Name of the Simulink File
mdl = 'rotating_frame';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/K'], 1, 'openinput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/G'], 1, 'openoutput'); io_i = io_i + 1;
Giff = linearize(mdl, io, 0);
%% Input/Output definition
Giff.InputName = {'Fu', 'Fv'};
Giff.OutputName = {'fu', 'fv'};
\end{minted}
\begin{minted}[]{matlab}
w0p = sqrt((k + kp)/m);
xip = c/(2*sqrt((k+kp)*m));
Giff_th = 1/( (s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2)^2 + (2*(s/w0p)*(W/w0p))^2 ) * [ ...
(s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2, -(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p));
(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p)), (s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2 ];
Giff_th.InputName = {'Fu', 'Fv'};
Giff_th.OutputName = {'fu', 'fv'};
\end{minted}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/plant_iff_kp_comp_simscape_analytical.png}
\caption{\label{fig:plant_iff_kp_comp_simscape_analytical}Comparison of the transfer functions from \([F_u, F_v]\) to \([f_u, f_v]\) between the Simscape model and the analytical one}
\end{figure}
\section{Effect of the parallel stiffness on the IFF plant}
\label{sec:orge9068cb}
The rotation speed is set to \(\Omega = 0.1 \omega_0\).
\begin{minted}[]{matlab}
W = 0.1*w0; % [rad/s]
\end{minted}
And the IFF plant (transfer function from \([F_u, F_v]\) to \([f_u, f_v]\)) is identified in three different cases:
\begin{itemize}
\item without parallel stiffness
\item with a small parallel stiffness \(k_p < m \Omega^2\)
\item with a large parallel stiffness \(k_p > m \Omega^2\)
\end{itemize}
The results are shown in Figure \ref{fig:plant_iff_kp}.
One can see that for \(k_p > m \Omega^2\), the systems shows alternating complex conjugate poles and zeros.
\begin{minted}[]{matlab}
kp = 0;
w0p = sqrt((k + kp)/m);
xip = c/(2*sqrt((k+kp)*m));
Giff = 1/( (s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2)^2 + (2*(s/w0p)*(W/w0p))^2 ) * [ ...
(s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2, -(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p));
(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p)), (s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2];
\end{minted}
\begin{minted}[]{matlab}
kp = 0.5*m*W^2;
k = 1 - kp;
w0p = sqrt((k + kp)/m);
xip = c/(2*sqrt((k+kp)*m));
Giff_s = 1/( (s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2)^2 + (2*(s/w0p)*(W/w0p))^2 ) * [ ...
(s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2, -(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p));
(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p)), (s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2];
\end{minted}
\begin{minted}[]{matlab}
kp = 1.5*m*W^2;
k = 1 - kp;
w0p = sqrt((k + kp)/m);
xip = c/(2*sqrt((k+kp)*m));
Giff_l = 1/( (s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2)^2 + (2*(s/w0p)*(W/w0p))^2 ) * [ ...
(s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2, -(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p));
(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p)), (s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2];
\end{minted}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/plant_iff_kp.png}
\caption{\label{fig:plant_iff_kp}Transfer function from \([F_u, F_v]\) to \([f_u, f_v]\) for \(k_p = 0\), \(k_p < m \Omega^2\) and \(k_p > m \Omega^2\)}
\end{figure}
\section{IFF when adding a spring in parallel}
\label{sec:org9f1e3df}
In Figure \ref{fig:root_locus_iff_kp} is displayed the Root Locus in the three considered cases with
\begin{equation}
K_{\text{IFF}} = \frac{g}{s} \begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}
\end{equation}
One can see that for \(k_p > m \Omega^2\), the root locus stays in the left half of the complex plane and thus the control system is unconditionally stable.
Thus, decentralized IFF controller with pure integrators can be used if:
\begin{equation}
k_{p} > m \Omega^2
\end{equation}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/root_locus_iff_kp.png}
\caption{\label{fig:root_locus_iff_kp}Root Locus}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/root_locus_iff_kp_zoom.png}
\caption{\label{fig:root_locus_iff_kp_zoom}Root Locus}
\end{figure}
\section{Effect of \(k_p\) on the attainable damping}
\label{sec:orgcb7905c}
However, having large values of \(k_p\) may decrease the attainable damping.
To study the second point, Root Locus plots for the following values of \(k_p\) are shown in Figure \ref{fig:root_locus_iff_kps}.
\begin{minted}[]{matlab}
kps = [2, 20, 40]*m*W^2;
\end{minted}
It is shown that large values of \(k_p\) decreases the attainable damping.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/root_locus_iff_kps.png}
\caption{\label{fig:root_locus_iff_kps}Root Locus plot}
\end{figure}
\begin{minted}[]{matlab}
alphas = logspace(-2, 0, 100);
opt_xi = zeros(1, length(alphas)); % Optimal simultaneous damping
opt_gain = zeros(1, length(alphas)); % Corresponding optimal gain
Kiff = 1/s*eye(2);
for alpha_i = 1:length(alphas)
kp = alphas(alpha_i);
k = 1 - alphas(alpha_i);
w0p = sqrt((k + kp)/m);
xip = c/(2*sqrt((k+kp)*m));
Giff = 1/( (s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2)^2 + (2*(s/w0p)*(W/w0p))^2 ) * [ ...
(s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2, -(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p));
(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p)), (s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2];
fun = @(g)computeSimultaneousDamping(g, Giff, Kiff);
[g_opt, xi_opt] = fminsearch(fun, 2);
opt_xi(alpha_i) = 1/xi_opt;
opt_gain(alpha_i) = g_opt;
end
\end{minted}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/opt_damp_alpha.png}
\caption{\label{fig:opt_damp_alpha}Attainable damping ratio and corresponding controller gain for different parameter \(\alpha\)}
\end{figure}
\chapter{Comparison}
\label{sec:org4714bd6}
\label{sec:comparison}
Two modifications to adapt the IFF control strategy to rotating platforms have been proposed.
These two methods are now compared in terms of added damping, closed-loop compliance and transmissibility.
\section{Plant Parameters}
\label{sec:org90a54af}
Let's define initial values for the model.
\begin{minted}[]{matlab}
k = 1; % Actuator Stiffness [N/m]
c = 0.05; % Actuator Damping [N/(m/s)]
m = 1; % Payload mass [kg]
\end{minted}
\begin{minted}[]{matlab}
xi = c/(2*sqrt(k*m));
w0 = sqrt(k/m); % [rad/s]
\end{minted}
The rotating speed is set to \(\Omega = 0.1 \omega_0\).
\begin{minted}[]{matlab}
W = 0.1*w0;
\end{minted}
\section{Root Locus}
\label{sec:orgf922463}
IFF with High Pass Filter
\begin{minted}[]{matlab}
wi = 0.1*w0; % [rad/s]
Giff = 1/(((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))^2 + (2*W*s/(w0^2))^2) * ...
[(s^2/w0^2 - W^2/w0^2)*((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2)) + (2*W*s/(w0^2))^2, - (2*xi*s/w0 + 1)*2*W*s/(w0^2) ; ...
(2*xi*s/w0 + 1)*2*W*s/(w0^2), (s^2/w0^2 - W^2/w0^2)*((s^2)/(w0^2) + 2*xi*s/w0 + 1 - (W^2)/(w0^2))+ (2*W*s/(w0^2))^2];
\end{minted}
IFF With parallel Stiffness
\begin{minted}[]{matlab}
kp = 5*m*W^2;
k = k - kp;
w0p = sqrt((k + kp)/m);
xip = c/(2*sqrt((k+kp)*m));
Giff_kp = 1/( (s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2)^2 + (2*(s/w0p)*(W/w0p))^2 ) * [ ...
(s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2, -(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p));
(2*xip*s/w0p + k/(k + kp))*(2*(s/w0p)*(W/w0p)), (s^2/w0p^2 + kp/(k + kp) - W^2/w0p^2)*(s^2/w0p^2 + 2*xip*s/w0p + 1 - W^2/w0p^2) + (2*(s/w0p)*(W/w0p))^2 ];
k = k + kp;
\end{minted}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/comp_root_locus.png}
\caption{\label{fig:comp_root_locus}Root Locus plot - Comparison of IFF with additional high pass filter, IFF with additional parallel stiffness}
\end{figure}
\section{Controllers - Optimal Gains}
\label{sec:org1889cfc}
In order to compare to three considered Active Damping techniques, gains that yield maximum damping of all the modes are computed for each case.
The obtained damping ratio and control are shown below.
\begin{center}
\begin{tabular}{lrr}
& Obtained \(\xi\) & Control Gain\\
\hline
Modified IFF & 0.83 & 1.99\\
IFF with \(k_p\) & 0.83 & 2.02\\
\end{tabular}
\end{center}
\section{Passive Damping - Critical Damping}
\label{sec:org81b0306}
\begin{equation}
\xi = \frac{c}{2 \sqrt{km}}
\end{equation}
Critical Damping corresponds to to \(\xi = 1\), and thus:
\begin{equation}
c_{\text{crit}} = 2 \sqrt{km}
\end{equation}
\begin{minted}[]{matlab}
c_opt = 2*sqrt(k*m);
\end{minted}
\section{Transmissibility And Compliance}
\label{sec:orge56633c}
\label{sec:comp_transmissibilty}
\begin{minted}[]{matlab}
open('rotating_frame.slx');
\end{minted}
\begin{minted}[]{matlab}
%% Name of the Simulink File
mdl = 'rotating_frame';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/dw'], 1, 'input'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/fd'], 1, 'input'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/Meas'], 1, 'output'); io_i = io_i + 1;
\end{minted}
\begin{minted}[]{matlab}
G_ol = linearize(mdl, io, 0);
%% Input/Output definition
G_ol.InputName = {'Dwx', 'Dwy', 'Fdx', 'Fdy'};
G_ol.OutputName = {'Dx', 'Dy'};
\end{minted}
\subsection{Passive Damping}
\label{sec:orgc0de759}
\begin{minted}[]{matlab}
kp = 0;
cp = 0;
\end{minted}
\begin{minted}[]{matlab}
c_old = c;
c = c_opt;
\end{minted}
\begin{minted}[]{matlab}
G_pas = linearize(mdl, io, 0);
%% Input/Output definition
G_pas.InputName = {'Dwx', 'Dwy', 'Fdx', 'Fdy'};
G_pas.OutputName = {'Dx', 'Dy'};
\end{minted}
\begin{minted}[]{matlab}
c = c_old;
\end{minted}
\begin{minted}[]{matlab}
Kiff = opt_gain_iff/(wi + s)*tf(eye(2));
\end{minted}
\begin{minted}[]{matlab}
G_iff = linearize(mdl, io, 0);
%% Input/Output definition
G_iff.InputName = {'Dwx', 'Dwy', 'Fdx', 'Fdy'};
G_iff.OutputName = {'Dx', 'Dy'};
\end{minted}
\begin{minted}[]{matlab}
kp = 5*m*W^2;
cp = 0.01;
\end{minted}
\begin{minted}[]{matlab}
Kiff = opt_gain_kp/s*tf(eye(2));
\end{minted}
\begin{minted}[]{matlab}
G_kp = linearize(mdl, io, 0);
%% Input/Output definition
G_kp.InputName = {'Dwx', 'Dwy', 'Fdx', 'Fdy'};
G_kp.OutputName = {'Dx', 'Dy'};
\end{minted}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/comp_transmissibility.png}
\caption{\label{fig:comp_transmissibility}Comparison of the transmissibility}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/comp_compliance.png}
\caption{\label{fig:comp_compliance}Comparison of the obtained Compliance}
\end{figure}
\chapter{Notations}
\label{sec:org61801fb}
\label{sec:notations}
\begin{center}
\begin{tabular}{llll}
& Mathematical Notation & Matlab & Unit\\
\hline
Actuator Stiffness & \(k\) & \texttt{k} & N/m\\
Actuator Damping & \(c\) & \texttt{c} & N/(m/s)\\
Payload Mass & \(m\) & \texttt{m} & kg\\
Damping Ratio & \(\xi = \frac{c}{2\sqrt{km}}\) & \texttt{xi} & \\
Actuator Force & \(\bm{F}, F_u, F_v\) & \texttt{F} \texttt{Fu} \texttt{Fv} & N\\
Force Sensor signal & \(\bm{f}, f_u, f_v\) & \texttt{f} \texttt{fu} \texttt{fv} & N\\
Relative Displacement & \(\bm{d}, d_u, d_v\) & \texttt{d} \texttt{du} \texttt{dv} & m\\
Resonance freq. when \(\Omega = 0\) & \(\omega_0\) & \texttt{w0} & rad/s\\
Rotation Speed & \(\Omega = \dot{\theta}\) & \texttt{W} & rad/s\\
Low Pass Filter corner frequency & \(\omega_i\) & \texttt{wi} & rad/s\\
\end{tabular}
\end{center}
\begin{center}
\begin{tabular}{llll}
& Mathematical Notation & Matlab & Unit\\
\hline
Laplace variable & \(s\) & \texttt{s} & \\
Complex number & \(j\) & \texttt{j} & \\
Frequency & \(\omega\) & \texttt{w} & [rad/s]\\
\end{tabular}
\end{center}
\printbibliography
\bibliography{ref}
\end{document}

BIN
matlab/matlab.zip Normal file

Binary file not shown.

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}

View File

@ -84,3 +84,11 @@
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},
}