Close loop performance - SISO control

This commit is contained in:
Thomas Dehaeze 2019-01-28 11:52:31 +01:00
parent ba2944e057
commit 0b9b1f349e
4 changed files with 52 additions and 8 deletions

BIN
Figures/perfconp.pdf Normal file

Binary file not shown.

BIN
Figures/perfconp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

BIN
Figures/perfconp.svg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 KiB

View File

@ -1092,19 +1092,64 @@ However, when we look at the poles of the closed loop with a diagonal controller
| -1.1837+0.0041777i | | -1.1837+0.0041777i |
| -1.1837-0.0041777i | | -1.1837-0.0041777i |
*** TODO Close loop performance *** Close loop performance
First we compute the close loop transfer functions. First, we create the closed loop systems. Then, we plot the transfer function from the reference signals $[\epsilon_u, \epsilon_v]$ to the output $[d_u, d_v]$ (figure [[fig:perfcomp]]).
#+begin_src matlab :results none :exports code #+begin_src matlab :results none :exports code
Gcl = feedback(Gvc, K); K.InputName = 'e';
Gtcl = feedback(Gtvc, K); K.OutputName = 'u';
Gtvc.InputName = 'u';
Gtvc.OutputName = 'y';
Gvc.InputName = 'u';
Gvc.OutputName = 'y';
Sum = sumblk('e = r-y', 2);
Tvc = connect(Gvc, K, Sum, 'r', 'y');
Ttvc = connect(Gtvc, K, Sum, 'r', 'y');
#+end_src #+end_src
#+begin_src matlab :results none :exports code #+begin_src matlab :results none :exports code
freqs = logspace(-2, 2, 1000);
figure; figure;
bode(Gcl, Gtcl) ax1 = subplot(1,2,1);
hold on;
plot(freqs, abs(squeeze(freqresp(Tvc(1, 1), freqs, 'Hz'))));
plot(freqs, abs(squeeze(freqresp(Ttvc(1, 1), freqs, 'Hz'))));
hold off;
xlim([freqs(1), freqs(end)]);
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Magnitude [m/N]');
legend({'w = 0 [rpm]', 'w = 60 [rpm]'}, 'Location', 'southwest')
title('$G_{r_u \to d_u}$')
ax2 = subplot(1,2,2);
hold on;
plot(freqs, abs(squeeze(freqresp(Tvc(1, 2), freqs, 'Hz'))));
plot(freqs, abs(squeeze(freqresp(Ttvc(1, 2), freqs, 'Hz'))));
hold off;
xlim([freqs(1), freqs(end)]);
ylim([1e-5, 1]);
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]');
title('$G_{r_u \to d_v}$')
linkaxes([ax1,ax2],'x');
#+end_src #+end_src
#+HEADER: :tangle no :exports results :results file :noweb yes
#+HEADER: :var filepath="Figures/perfconp.png" :var figsize="full-tall"
#+begin_src matlab
<<plt-matlab>>
#+end_src
#+NAME: fig:perfcomp
#+CAPTION: Close loop performance for $\omega = 0$ and $\omega = 60 rpm$
#+RESULTS:
[[file:Figures/perfconp.png]]
*** Effect of rotation speed *** Effect of rotation speed
We first identify the system (voice coil and light mass) for multiple rotation speed. We first identify the system (voice coil and light mass) for multiple rotation speed.
Then we compute the bode plot of the diagonal element (figure [[fig:Guu_ws]]) and of the coupling element (figure [[fig:Guv_ws]]). Then we compute the bode plot of the diagonal element (figure [[fig:Guu_ws]]) and of the coupling element (figure [[fig:Guv_ws]]).
@ -1112,7 +1157,7 @@ Then we compute the bode plot of the diagonal element (figure [[fig:Guu_ws]]) an
As the rotation frequency increases: As the rotation frequency increases:
- one pole goes to lower frequencies while the other goes to higher frequencies - one pole goes to lower frequencies while the other goes to higher frequencies
- one zero appears between the two poles - one zero appears between the two poles
- the zero disappears when $\omega > \sqrt{\frac{k}{m}}$ and the low frequency pole becomes unstable (positive real part) - [ ] the zero disappears when $\omega > \sqrt{\frac{k}{m}}$ and the low frequency pole becomes unstable (positive real part)
To stabilize the unstable pole, we need a control bandwidth of at least twice of frequency of the unstable pole. To stabilize the unstable pole, we need a control bandwidth of at least twice of frequency of the unstable pole.
@ -1214,7 +1259,6 @@ To stabilize the unstable pole, we need a control bandwidth of at least twice of
[[file:Figures/Guv_ws.png]] [[file:Figures/Guv_ws.png]]
** TODO Plant Control - MIMO approach ** TODO Plant Control - MIMO approach
** test ** test
#+begin_src matlab :exports none :results silent #+begin_src matlab :exports none :results silent