Update all figures

This commit is contained in:
Thomas Dehaeze 2019-03-05 13:30:43 +01:00
parent 55e4cb5d64
commit 89de9d5b5e
10 changed files with 143 additions and 105 deletions

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

@ -329,17 +329,17 @@ We plot on the same graph $\frac{|-m \omega^2 + (k - m {\omega_0}^2)|}{|2 m \ome
legend('Location', 'northeast');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/coupling_light.png" :var figsize="normal-normal"
#+begin_src matlab
#+NAME: fig:coupling_light
#+HEADER: :var filepath="Figures/coupling_light.pdf" :var figsize="normal-normal"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file coupling_light.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:coupling_light
#+LABEL: fig:coupling_light
#+CAPTION: Relative Coupling for light mass and high rotation speed
#+RESULTS:
#+RESULTS: fig:coupling_light
[[file:Figures/coupling_light.png]]
#+begin_src matlab :exports none :results silent
figure;
hold on;
@ -353,15 +353,16 @@ We plot on the same graph $\frac{|-m \omega^2 + (k - m {\omega_0}^2)|}{|2 m \ome
legend('Location', 'northeast');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/coupling_heavy.png" :var figsize="normal-normal"
#+begin_src matlab
#+NAME: fig:coupling_heavy
#+HEADER: :var filepath="Figures/coupling_heavy.pdf" :var figsize="normal-normal"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file coupling_heavy.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:coupling_heavy
#+LABEL: fig:coupling_heavy
#+CAPTION: Relative Coupling for heavy mass and low rotation speed
#+RESULTS:
#+RESULTS: fig:coupling_heavy
[[file:Figures/coupling_heavy.png]]
#+begin_important
@ -463,17 +464,19 @@ Then we compare the result between voice coil and piezoelectric actuators.
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/G_ws_vc.png" :var figsize="wide-tall"
#+begin_src matlab
<<plt-matlab>>
#+end_src
#+NAME: fig:G_ws_vc
#+HEADER: :var filepath="Figures/G_ws_vc.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file G_ws_vc.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+LABEL: fig:G_ws_vc
#+CAPTION: Bode plot of the direct transfer function term (from $F_u$ to $D_u$) for multiple rotation speed - Voice coil
#+RESULTS:
#+RESULTS: fig:G_ws_vc
[[file:Figures/G_ws_vc.png]]
#+begin_src matlab :exports none :results silent
freqs = logspace(-2, 1, 1000);
@ -504,15 +507,16 @@ Then we compare the result between voice coil and piezoelectric actuators.
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/Gc_ws_vc.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:Gc_ws_vc
#+HEADER: :var filepath="Figures/Gc_ws_vc.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file Gc_ws_vc.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Gc_ws_vc
#+CAPTION: Bode plot of the coupling transfer function term (from $F_u$ to $D_v$) for multiple rotation speed - Voice coil
#+RESULTS:
#+LABEL: fig:Gc_ws_vc
#+CAPTION: caption
#+RESULTS: fig:Gc_ws_vc
[[file:Figures/Gc_ws_vc.png]]
*** Piezoelectric actuator
@ -562,15 +566,16 @@ Then we compare the result between voice coil and piezoelectric actuators.
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/G_ws_pz.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:G_ws_pz
#+HEADER: :var filepath="Figures/G_ws_pz.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file G_ws_pz.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:G_ws_pz
#+LABEL: fig:G_ws_pz
#+CAPTION: Bode plot of the direct transfer function term (from $F_u$ to $D_u$) for multiple rotation speed - Piezoelectric actuator
#+RESULTS:
#+RESULTS: fig:G_ws_pz
[[file:Figures/G_ws_pz.png]]
#+begin_src matlab :exports none :results silent
@ -601,15 +606,16 @@ Then we compare the result between voice coil and piezoelectric actuators.
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/Gc_ws_pz.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:Gc_ws_pz
#+HEADER: :var filepath="Figures/Gc_ws_pz.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file Gc_ws_pz.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Gc_ws_pz
#+LABEL: fig:Gc_ws_pz
#+CAPTION: Bode plot of the coupling transfer function term (from $F_u$ to $D_v$) for multiple rotation speed - Piezoelectric actuator
#+RESULTS:
#+RESULTS: fig:Gc_ws_pz
[[file:Figures/Gc_ws_pz.png]]
*** Analysis
@ -690,15 +696,16 @@ For the voice coil (figure [[fig:poles_w_vc]]), the system is unstable when the
ylabel('Pole Imaginary Part');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/poles_w_vc.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:poles_w_vc
#+HEADER: :var filepath="Figures/poles_w_vc.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file poles_w_vc.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:poles_w_vc
#+LABEL: fig:poles_w_vc
#+CAPTION: Real and Imaginary part of the poles of the system as a function of the rotation speed - Voice Coil and light sample
#+RESULTS:
#+RESULTS: fig:poles_w_vc
[[file:Figures/poles_w_vc.png]]
@ -728,15 +735,16 @@ For the voice coil (figure [[fig:poles_w_vc]]), the system is unstable when the
ylabel('Pole Imaginary Part');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/poles_w_pz.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:poles_w_pz
#+HEADER: :var filepath="Figures/poles_w_pz.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file poles_w_pz.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:poles_w_pz
#+LABEL: fig:poles_w_pz
#+CAPTION: Real and Imaginary part of the poles of the system as a function of the rotation speed - Piezoelectric actuator and light sample
#+RESULTS:
#+RESULTS: fig:poles_w_pz
[[file:Figures/poles_w_pz.png]]
* Control Strategies
@ -892,14 +900,16 @@ We obtain the same result than the analytical case (figures [[fig:coupling_light
legend({'light - VC', 'light - PZ', 'heavy - VC', 'heavy - PZ'})
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/coupling_ratio_light_heavy.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:coupling_ratio_light_heavy
#+HEADER: :var filepath="Figures/coupling_ratio_light_heavy.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file coupling_ratio_light_heavy.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:coupling_ratio_light_heavy
#+RESULTS:
#+LABEL: fig:coupling_ratio_light_heavy
#+CAPTION: caption
#+RESULTS: fig:coupling_ratio_light_heavy
[[file:Figures/coupling_ratio_light_heavy.png]]
** Plant Control - SISO approach
@ -956,15 +966,16 @@ The bode plot of the system not rotating and rotating at 60rpm is shown figure [
legend({'Gvc - $\omega = 0$', 'Gvc - $\omega = 60$rpm'}, 'Location', 'southwest');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/Gvc_speed.png" :var figsize="full-tall"
#+begin_src matlab
#+NAME: fig:Gvc_speed
#+HEADER: :var filepath="Figures/Gvc_speed.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file Gvc_speed.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Gvc_speed
#+LABEL: fig:Gvc_speed
#+CAPTION: Bode plot of the system not rotating and rotating at 60rmp - Voice coil and light sample
#+RESULTS:
#+RESULTS: fig:Gvc_speed
[[file:Figures/Gvc_speed.png]]
*** Controller design
@ -1007,15 +1018,16 @@ The loop gain is displayed figure [[fig:Gvc_loop_gain]].
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/Gvc_loop_gain.png" :var figsize="full-tall"
#+begin_src matlab
#+NAME: fig:Gvc_loop_gain
#+HEADER: :var filepath="Figures/Gvc_loop_gain.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file Gvc_loop_gain.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Gvc_loop_gain
#+LABEL: fig:Gvc_loop_gain
#+CAPTION: Loop gain obtained for a lead-lag controller on the system with a voice coil
#+RESULTS:
#+RESULTS: fig:Gvc_loop_gain
[[file:Figures/Gvc_loop_gain.png]]
*** Controlling the rotating system
@ -1047,15 +1059,16 @@ We can then plot the same loop gain with the rotating system using the same cont
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/Gtvc_loop_gain.png" :var figsize="full-tall"
#+begin_src matlab
#+NAME: fig:Gtvc_loop_gain
#+HEADER: :var filepath="Figures/Gtvc_loop_gain.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file Gtvc_loop_gain.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Gtvc_loop_gain
#+LABEL: fig:Gtvc_loop_gain
#+CAPTION: Loop gain with the rotating system
#+RESULTS:
#+RESULTS: fig:Gtvc_loop_gain
[[file:Figures/Gtvc_loop_gain.png]]
We can look at the poles of the system where we control only one direction ($u$ for instance). We obtain a pole with a positive real part.
@ -1136,15 +1149,16 @@ First, we create the closed loop systems. Then, we plot the transfer function fr
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/perfconp.png" :var figsize="full-tall"
#+begin_src matlab
#+NAME: fig:perfconp
#+HEADER: :var filepath="Figures/perfconp.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file perfconp.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:perfcomp
#+LABEL: fig:perfconp
#+CAPTION: Close loop performance for $\omega = 0$ and $\omega = 60 rpm$
#+RESULTS:
#+RESULTS: fig:perfconp
[[file:Figures/perfconp.png]]
*** Effect of rotation speed
@ -1203,17 +1217,19 @@ To stabilize the unstable pole, we need a control bandwidth of at least twice of
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/Guu_ws.png" :var figsize="full-tall"
#+begin_src matlab
#+NAME: fig:Guu_ws
#+HEADER: :var filepath="Figures/Guu_ws.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file Guu_ws.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Guu_ws
#+LABEL: fig:Guu_ws
#+CAPTION: Diagonal term as a function of the rotation frequency
#+RESULTS:
#+RESULTS: fig:Guu_ws
[[file:Figures/Guu_ws.png]]
#+begin_src matlab :exports none :results silent
freqs = logspace(-2, 2, 1000);
@ -1244,15 +1260,16 @@ To stabilize the unstable pole, we need a control bandwidth of at least twice of
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/Guv_ws.png" :var figsize="full-tall"
#+begin_src matlab
#+NAME: fig:Guv_ws
#+HEADER: :var filepath="Figures/Guv_ws.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file Guv_ws.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Guv_ws
#+LABEL: fig:Guv_ws
#+CAPTION: Couplin term as a function of the rotation frequency
#+RESULTS:
#+RESULTS: fig:Guv_ws
[[file:Figures/Guv_ws.png]]
Then, we can look at the same plots for the piezoelectric actuator (figure [[fig:Guu_ws_pz]]). The effect of the rotation frequency has very little effect on the dynamics of the system to control.
@ -1302,15 +1319,16 @@ Then, we can look at the same plots for the piezoelectric actuator (figure [[fig
linkaxes([ax1,ax2],'x');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/Guu_ws_pz.png" :var figsize="full-tall"
#+begin_src matlab
#+NAME: fig:Guu_ws_pz
#+HEADER: :var filepath="Figures/Guu_ws_pz.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file Guu_ws_pz.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:Guu_ws_pz
#+LABEL: fig:Guu_ws_pz
#+CAPTION: Diagonal term as a function of the rotation frequency
#+RESULTS:
#+RESULTS: fig:Guu_ws_pz
[[file:Figures/Guu_ws_pz.png]]
** Plant Control - MIMO approach
@ -1367,15 +1385,17 @@ We first look at the evolution of the singular values as a function of frequency
legend('location', 'southwest');
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/G_sigma.png" :var figsize="full-tall"
#+begin_src matlab
#+NAME: fig:G_sigma
#+HEADER: :var filepath="Figures/G_sigma.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file G_sigma.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+NAME: fig:G_sigma
#+LABEL: fig:G_sigma
#+CAPTION: caption
#+RESULTS: fig:G_sigma
#+CAPTION: Evolution of the singular values with frequency
#+RESULTS:
[[file:Figures/G_sigma.png]]
We compute
@ -1477,13 +1497,16 @@ So, if we consider an input in the direction $v_i$, then the output is in the di
bode(Gpz_light, Gvc_light);
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/coupling_simscape_light.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:coupling_simscape
#+HEADER: :var filepath="Figures/coupling_simscape.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file coupling_simscape.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+RESULTS:
#+LABEL: fig:coupling_simscape
#+CAPTION: caption
#+RESULTS: fig:coupling_simscape
[[file:Figures/coupling_simscape_light.png]]
And then with the heavy sample.
@ -1511,13 +1534,16 @@ And then with the heavy sample.
bode(Gpz_heavy, Gvc_heavy);
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/coupling_simscape_heavy.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:coupling_simscape_heavy
#+HEADER: :var filepath="Figures/coupling_simscape_heavy.pdf" :var figsize="full-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file coupling_simscape_heavy.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+RESULTS:
#+LABEL: fig:coupling_simscape_heavy
#+CAPTION: caption
#+RESULTS: fig:coupling_simscape_heavy
[[file:Figures/coupling_simscape_heavy.png]]
Plot the ratio between the main transfer function and the coupling term:
@ -1535,13 +1561,16 @@ Plot the ratio between the main transfer function and the coupling term:
legend({'Voice Coil', 'Piezoelectric'})
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/coupling_ratio_simscape_light.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:coupling_ratio_simscape_light
#+HEADER: :var filepath="Figures/coupling_ratio_simscape_light.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file coupling_ratio_simscape_light.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+RESULTS:
#+LABEL: fig:coupling_ratio_simscape_light
#+CAPTION: caption
#+RESULTS: fig:coupling_ratio_simscape_light
[[file:Figures/coupling_ratio_simscape_light.png]]
#+begin_src matlab :results silent :exports none
@ -1558,13 +1587,16 @@ Plot the ratio between the main transfer function and the coupling term:
legend({'Voice Coil', 'Piezoelectric'})
#+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/coupling_ratio_simscape_heavy.png" :var figsize="wide-tall"
#+begin_src matlab
#+NAME: fig:coupling_ratio_simscape_heavy
#+HEADER: :var filepath="Figures/coupling_ratio_simscape_heavy.pdf" :var figsize="wide-tall"
#+HEADER: :tangle no :exports results :results raw :noweb yes :mkdirp yes
#+begin_src matlab :output-dir Figures :file coupling_ratio_simscape_heavy.pdf :post pdf2svg(file=*this*, ext="png")
<<plt-matlab>>
#+end_src
#+RESULTS:
#+LABEL: fig:coupling_ratio_simscape_heavy
#+CAPTION: caption
#+RESULTS: fig:coupling_ratio_simscape_heavy
[[file:Figures/coupling_ratio_simscape_heavy.png]]
*** Low rotation speed and High rotation speed
@ -1710,12 +1742,18 @@ Finally, we run the linearization.
#+end_src
*** TODO Use realistic parameters for the mass of the sample and stiffness of the X-Y stage
*** TODO Check if the plant is changing a lot when we are not turning to when we are turning at the maximum speed (60rpm)
** Effect of the X-Y stage stiffness
<<sec:effect_stiffness>>
*** TODO At full speed, check how the coupling changes with the stiffness of the actuators
* Control Implementation
<<sec:control>>
** Measurement in the fixed reference frame
* Bibliography :ignore:
# #+BIBLIOGRAPHY: /home/tdehaeze/MEGA/These/Ressources/references.bib plain option:-a option:-noabstract option:-nokeywords option:-noheader option:-nofooter option:-nobibsource limit:t