Add root locus plot for IFF
This commit is contained in:
parent
dd4780f875
commit
4f3d8d42d1
BIN
docs/figs/opti_stiffness_iff_root_locus.pdf
Normal file
BIN
docs/figs/opti_stiffness_iff_root_locus.pdf
Normal file
Binary file not shown.
BIN
docs/figs/opti_stiffness_iff_root_locus.png
Normal file
BIN
docs/figs/opti_stiffness_iff_root_locus.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 116 KiB |
@ -176,6 +176,148 @@ We plot the change of dynamics due to the change of the spindle rotation speed (
|
||||
- Figure [[fig:opt_stiffness_wz_fx_dx]]: from force in the task space $\mathcal{F}_x$ to sample displacement $\mathcal{X}_x$ (Centralized positioning plant)
|
||||
- Figure [[fig:opt_stiffness_wz_coupling]]: from force in the task space $\mathcal{F}_x$ to sample displacement $\mathcal{X}_y$ (coupling of the centralized positioning plant)
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
|
||||
subplot(2,2,1)
|
||||
gains = logspace(0, 4, 500);
|
||||
i = 1;
|
||||
title(sprintf('$k = %.0g$ [N/m]', Ks(i)))
|
||||
hold on;
|
||||
j = length(Rz_rpm);
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
plot(real(pole(Gk_wz_iff{i,j})), imag(pole(Gk_wz_iff{i,j})), 'x');
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
plot(real(tzero(Gk_wz_iff{i,j})), imag(tzero(Gk_wz_iff{i,j})), 'o');
|
||||
for k = 1:length(gains)
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
cl_poles = pole(feedback(Gk_wz_iff{i,j}, -(gains(k)/s)*eye(6)));
|
||||
plot(real(cl_poles), imag(cl_poles), '.');
|
||||
end
|
||||
j = 1
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
plot(real(pole(Gk_wz_iff{i,j})), imag(pole(Gk_wz_iff{i,j})), 'x');
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
plot(real(tzero(Gk_wz_iff{i,j})), imag(tzero(Gk_wz_iff{i,j})), 'o');
|
||||
for k = 1:length(gains)
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
cl_poles = pole(feedback(Gk_wz_iff{i,j}, -(gains(k)/s)*eye(6)));
|
||||
plot(real(cl_poles), imag(cl_poles), '.');
|
||||
end
|
||||
hold off;
|
||||
axis square
|
||||
ylim([0, 20]);
|
||||
xlim([-18, 2]);
|
||||
xlabel('Real Part')
|
||||
ylabel('Imaginary Part')
|
||||
|
||||
|
||||
subplot(2,2,2)
|
||||
gains = logspace(0, 4, 500);
|
||||
i = 3;
|
||||
title(sprintf('$k = %.0g$ [N/m]', Ks(i)))
|
||||
hold on;
|
||||
j = length(Rz_rpm);
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
plot(real(pole(Gk_wz_iff{i,j})), imag(pole(Gk_wz_iff{i,j})), 'x');
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
plot(real(tzero(Gk_wz_iff{i,j})), imag(tzero(Gk_wz_iff{i,j})), 'o');
|
||||
for k = 1:length(gains)
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
cl_poles = pole(feedback(Gk_wz_iff{i,j}, -(gains(k)/s)*eye(6)));
|
||||
plot(real(cl_poles), imag(cl_poles), '.');
|
||||
end
|
||||
j = 1
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
plot(real(pole(Gk_wz_iff{i,j})), imag(pole(Gk_wz_iff{i,j})), 'x');
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
plot(real(tzero(Gk_wz_iff{i,j})), imag(tzero(Gk_wz_iff{i,j})), 'o');
|
||||
for k = 1:length(gains)
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
cl_poles = pole(feedback(Gk_wz_iff{i,j}, -(gains(k)/s)*eye(6)));
|
||||
plot(real(cl_poles), imag(cl_poles), '.');
|
||||
end
|
||||
axis square
|
||||
ylim([0, 120]);
|
||||
xlim([-120, 5]);
|
||||
xlabel('Real Part')
|
||||
ylabel('Imaginary Part')
|
||||
|
||||
|
||||
subplot(2,2,3)
|
||||
gains = logspace(0, 4, 500);
|
||||
i = 5;
|
||||
title(sprintf('$k = %.0g$ [N/m]', Ks(i)))
|
||||
hold on;
|
||||
j = length(Rz_rpm);
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
plot(real(pole(Gk_wz_iff{i,j})), imag(pole(Gk_wz_iff{i,j})), 'x');
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
plot(real(tzero(Gk_wz_iff{i,j})), imag(tzero(Gk_wz_iff{i,j})), 'o');
|
||||
for k = 1:length(gains)
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
cl_poles = pole(feedback(Gk_wz_iff{i,j}, -(gains(k)/s)*eye(6)));
|
||||
plot(real(cl_poles), imag(cl_poles), '.');
|
||||
end
|
||||
j = 1
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
plot(real(pole(Gk_wz_iff{i,j})), imag(pole(Gk_wz_iff{i,j})), 'x');
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
plot(real(tzero(Gk_wz_iff{i,j})), imag(tzero(Gk_wz_iff{i,j})), 'o');
|
||||
for k = 1:length(gains)
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
cl_poles = pole(feedback(Gk_wz_iff{i,j}, -(gains(k)/s)*eye(6)));
|
||||
plot(real(cl_poles), imag(cl_poles), '.');
|
||||
end
|
||||
hold off;
|
||||
axis square
|
||||
ylim([0, 2000]);
|
||||
xlim([-1800,200]);
|
||||
xlabel('Real Part')
|
||||
ylabel('Imaginary Part')
|
||||
|
||||
subplot(2,2,4)
|
||||
gains = logspace(3, 7, 500);
|
||||
i = 7;
|
||||
title(sprintf('$k = %.0g$ [N/m]', Ks(i)))
|
||||
hold on;
|
||||
j = length(Rz_rpm);
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
plot(real(pole(Gk_wz_iff{i,j})), imag(pole(Gk_wz_iff{i,j})), 'x');
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
plot(real(tzero(Gk_wz_iff{i,j})), imag(tzero(Gk_wz_iff{i,j})), 'o');
|
||||
for k = 1:length(gains)
|
||||
set(gca,'ColorOrderIndex',1);
|
||||
cl_poles = pole(feedback(Gk_wz_iff{i,j}, -(gains(k)/s)*eye(6)));
|
||||
plot(real(cl_poles), imag(cl_poles), '.');
|
||||
end
|
||||
j = 1
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
plot(real(pole(Gk_wz_iff{i,j})), imag(pole(Gk_wz_iff{i,j})), 'x');
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
plot(real(tzero(Gk_wz_iff{i,j})), imag(tzero(Gk_wz_iff{i,j})), 'o');
|
||||
for k = 1:length(gains)
|
||||
set(gca,'ColorOrderIndex',2);
|
||||
cl_poles = pole(feedback(Gk_wz_iff{i,j}, -(gains(k)/s)*eye(6)));
|
||||
plot(real(cl_poles), imag(cl_poles), '.');
|
||||
end
|
||||
hold off;
|
||||
axis square
|
||||
ylim([0, 18000]);
|
||||
xlim([-18000, 100]);
|
||||
xlabel('Real Part')
|
||||
ylabel('Imaginary Part')
|
||||
#+end_src
|
||||
|
||||
#+header: :tangle no :exports results :results none :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/opti_stiffness_iff_root_locus.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+end_src
|
||||
|
||||
#+name: fig:opti_stiffness_iff_root_locus
|
||||
#+caption: Root Locus plot for IFF control when not rotating (in red) and when rotating at 60rpm (in blue) for 4 different nano-hexapod stiffnesses ([[./figs/opti_stiffness_iff_root_locus.png][png]], [[./figs/opti_stiffness_iff_root_locus.pdf][pdf]])
|
||||
[[file:figs/opti_stiffness_iff_root_locus.png]]
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
freqs = logspace(-2, 3, 1000);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user