From 2cb68a4d5f8d099bfc1b064ef8fe95a0d34bcdc4 Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Mon, 22 Jun 2020 13:35:01 +0200 Subject: [PATCH] Update paper text --- matlab/index.org | 1 + paper/paper.org | 204 ++++++++++++++++++++++++++--- paper/paper.pdf | Bin 78851 -> 1271810 bytes paper/paper.tex | 332 ++++++++++++++++++++++++++++++++++++++++++----- 4 files changed, 487 insertions(+), 50 deletions(-) diff --git a/matlab/index.org b/matlab/index.org index d2ad407..059a265 100644 --- a/matlab/index.org +++ b/matlab/index.org @@ -72,6 +72,7 @@ Based on the Figure [[fig:rotating_xy_platform]], the equations of motions are: \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} \begin{bmatrix} d_u \\ d_v \end{bmatrix} = diff --git a/paper/paper.org b/paper/paper.org index 02ab2d9..262a917 100644 --- a/paper/paper.org +++ b/paper/paper.org @@ -1,4 +1,4 @@ -#+TITLE: Vibration control of a rotating Stewart platform +#+TITLE: Active Damping of Rotating Positioning Platforms :DRAWER: #+LATEX_CLASS: ISMA_USD2020 #+OPTIONS: toc:nil @@ -53,20 +53,42 @@ * Introduction <> +*** Establish the importance of the research topic :ignore: +# Active Damping + Rotating Systems +*** Applications of active damping :ignore: +# Link to previous paper / tomography -* Theory -<> +cite:dehaeze18_sampl_stabil_for_tomog_exper -** Rotating Positioning Stage +*** Current active damping techniques :ignore: +# IFF, DVF -# Description of the system +*** Describe a gap in the research :ignore: +# No literature on rotating systems => gyroscopic effects + +*** Describe the paper itself / the problem which is addressed :ignore: + +*** Introduce Each part of the paper :ignore: + +* System Under Study +** Rotating Positioning Platform +# Simplest system where gyroscopic forces can be studied +Consider the rotating X-Y stage of Figure [[fig:rotating_xy_platform]]. + +# Present the system, parameters, assumptions + +# Small displacements + +# Constant rotating speed + +# Explain the frames (inertial frame x,y, rotating frame u,v) - $k$: Actuator's Stiffness [N/m] - $m$: Payload's mass [kg] -- $\omega_0 = \sqrt{\frac{k}{m}}$: Resonance of the (non-rotating) mass-spring system [rad/s] - $\Omega = \dot{\theta}$: rotation speed [rad/s] - +- $F_u$, $F_v$ +- $d_u$, $d_v$ #+name: fig:rotating_xy_platform #+caption: Figure caption @@ -74,34 +96,96 @@ [[file:figs/rotating_xy_platform.pdf]] +#+name: fig:cedrat_xy25xs +#+caption: Figure caption +#+attr_latex: :width 0.5\linewidth +[[file:figs/cedrat_xy25xs.jpg]] + ** Equation of Motion +The system has two degrees of freedom and is thus fully described by the generalized coordinates $u$ and $v$. Let's express the kinetic energy $T$ and the potential energy $V$ of the mass $m$ (neglecting the rotational energy): + +Dissipation function $R$ +Kinetic energy $T$ +Potential energy $V$ #+name: eq:energy_inertial_frame \begin{subequations} \begin{align} - T & = \frac{1}{2} m \left( \dot{x}^2 + \dot{y}^2 \right) \\ - R & = \frac{1}{2} c \left( \dot{x}^2 + \dot{y}^2 \right) \\ - V & = \frac{1}{2} k \left( x^2 + y^2 \right) + T & = \frac{1}{2} m \left( \left( \dot{u} - \Omega v \right)^2 + \left( \dot{v} + \Omega u \right)^2 \right) \\ + R & = \frac{1}{2} c \left( \dot{u}^2 + \dot{v}^2 \right) \\ + V & = \frac{1}{2} k \left( u^2 + v^2 \right) \end{align} \end{subequations} The Lagrangian is the kinetic energy minus the potential energy: #+name: eq:lagrangian_inertial_frame \begin{equation} -L = T-V = \frac{1}{2} m \left( \dot{x}^2 + \dot{y}^2 \right) - \frac{1}{2} k \left( x^2 + y^2 \right) +L = T - V \end{equation} -The external forces applied to the mass are: +From the Lagrange's equations of the second kind eqref:eq:lagrange_second_kind, the equation of motion eqref:eq:eom_mixed is obtained ($q_1 = u$, $q_2 = v$). +\begin{equation} + \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} + +\begin{equation} + \frac{d}{dt} \left( \frac{\partial T}{\partial \dot{q}_i} \right) - \frac{\partial T}{\partial q_i} + \frac{\partial R}{\partial \dot{q}_i} - \frac{\partial V}{\partial q_i} = Q_i +\end{equation} + +with $Q_i$ is the generalized force associated with the generalized variable $q_i$ ($F_u$ and $F_v$). + \begin{subequations} \begin{align} - F_{\text{ext}, x} &= F_u \cos{\theta} - F_v \sin{\theta}\\ - F_{\text{ext}, y} &= F_u \sin{\theta} + F_v \cos{\theta} + m \ddot{u} + c \dot{u} + ( k - m \Omega ) u &= F_u + 2 m \Omega \dot{v} \\ + m \ddot{v} + c \dot{v} + ( k \underbrace{-\,m \Omega}_{\text{Centrif.}} ) v &= F_v \underbrace{-\,2 m \Omega \dot{u}}_{\text{Coriolis}} + \end{align} +\end{subequations} + +# Explain Gyroscopic effects + + + + +# Laplace Domain + +\begin{subequations} + \begin{align} + u &= \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} F_u + \frac{2 m \Omega s}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2} F_v \\ + v &= \frac{-2 m \Omega s}{\left( m s^2 + cs + k - m \Omega^2 \right)^2 + \left( 2 m \Omega s \right)^2} F_u + \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} F_v + \end{align} +\end{subequations} + +# Change of variables +\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{subequations} + \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{subequations} -From the Lagrange's equations of the second kind eqref:eq:lagrange_second_kind, the equation of motion eqref:eq:eom_mixed is obtained. + +- $\omega_0 = \sqrt{\frac{k}{m}}$: Natural frequency of the mass-spring system in $\si{\radian/\s}$ +- $\xi$ damping ratio + + #+name: eq:lagrange_second_kind \begin{equation} @@ -186,18 +270,104 @@ As the rotation speed increases, one of the two resonant frequency goes to lower #+name: fig:campbell_diagram #+caption: Campbell Diagram +#+attr_latex: :scale 1 [[file:figs/campbell_diagram.pdf]] # Bode Plots for different ratio wr/w0 The magnitude of the coupling terms are increasing with the rotation speed. +#+name: fig:plant_compare_rotating_speed +#+caption: Caption +#+attr_latex: :scale 1 +[[file:figs/plant_compare_rotating_speed.pdf]] -** Integral Force Feedback +* Integral Force Feedback +** Control Schematic +** Equations -** Direct Velocity Feedback +** Plant Dynamics +#+name: fig:root_locus_pure_iff +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/root_locus_pure_iff.pdf]] + +** Physical Interpretation + +* Integral Force Feedback with Low Pass Filters + +#+name: fig:loop_gain_modified_iff +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/loop_gain_modified_iff.pdf]] + +#+name: fig:root_locus_modified_iff +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/root_locus_modified_iff_bis.pdf]] + +#+name: fig:root_locus_wi_modified_iff +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/root_locus_wi_modified_iff.pdf]] + +* Integral Force Feedback with Parallel Springs + +#+name: fig:rotating_xy_platform_springs +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/rotating_xy_platform_springs.pdf]] + +#+name: fig:plant_iff_kp +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/plant_iff_kp.pdf]] + +#+name: fig:root_locus_iff_kps +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/root_locus_iff_kps.pdf]] + +#+name: fig:root_locus_iff_kp_bis +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/root_locus_iff_kp_bis.pdf]] + +#+name: fig:root_locus_opt_gain_iff_kp +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/root_locus_opt_gain_iff_kp.pdf]] + +#+name: fig:plant_iff_compare_rotating_speed +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/plant_iff_compare_rotating_speed.pdf]] + +* Direct Velocity Feedback + +#+name: fig:root_locus_dvf +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/root_locus_dvf.pdf]] + +* Comparison of the Proposed Active Damping Techniques + +#+name: fig:comp_root_locus +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/comp_root_locus.pdf]] + +#+name: fig:comp_compliance +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/comp_compliance.pdf]] + +#+name: fig:comp_transmissibility +#+caption: Figure caption +#+attr_latex: :scale 1 +[[file:figs/comp_transmissibility.pdf]] * Conclusion <> diff --git a/paper/paper.pdf b/paper/paper.pdf index 18fb306653fb93c911e421465d78252ece9eff22..0d4ce84deeebd28529195ddad4641aedb6105442 100644 GIT binary patch literal 1271810 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