[WIP] add amplified piezo for the nano-hexapod
This commit is contained in:
@@ -431,3 +431,21 @@ Identification
|
||||
#+caption: Root Locus for the two considered rotation speed. For the red curve, the system is unstable.
|
||||
#+RESULTS:
|
||||
[[file:figs/amplified_piezo_xy_rotating_unstable_root_locus.png]]
|
||||
|
||||
* Stewart Platform with Amplified Actuators
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
simulinkproject('../');
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab
|
||||
open('nass_model.slx')
|
||||
#+end_src
|
||||
|
@@ -13,11 +13,11 @@
|
||||
|
||||
** Matlab Init :noexport:ignore:
|
||||
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
|
||||
<<matlab-dir>>
|
||||
<<matlab-dir>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :exports none :results silent :noweb yes
|
||||
<<matlab-init>>
|
||||
<<matlab-init>>
|
||||
#+end_src
|
||||
|
||||
#+begin_src matlab :tangle no
|
||||
@@ -141,7 +141,7 @@ exportFig('figs/opt_stiff_dvf_plant.pdf', 'width', 'full', 'height', 'full')
|
||||
#+RESULTS:
|
||||
[[file:figs/opt_stiff_dvf_plant.png]]
|
||||
|
||||
#+begin_src matlab :exports none :post
|
||||
#+begin_src matlab :exports none
|
||||
figure;
|
||||
|
||||
gains = logspace(2, 5, 300);
|
||||
@@ -1561,7 +1561,7 @@ exportFig('figs/opt_stiff_hac_dvf_Dh_offset_dL.pdf', 'width', 'normal', 'height'
|
||||
*** Simulation
|
||||
A simulation is now performed with translation scans and spindle rotation at the same time.
|
||||
|
||||
The sample has a mass one 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.
|
||||
The sample has a mass of 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.
|
||||
|
||||
#+begin_src matlab
|
||||
initializeDisturbances();
|
||||
|
@@ -1279,7 +1279,13 @@ The =mirror= structure is saved.
|
||||
args.MR (1,1) double {mustBeNumeric, mustBePositive} = 90e-3
|
||||
args.MTh (6,1) double {mustBeNumeric} = [-60+10, 60-10, 60+10, 180-10, 180+10, -60-10]*(pi/180)
|
||||
% initializeStrutDynamics
|
||||
args.actuator char {mustBeMember(args.actuator,{'piezo', 'lorentz'})} = 'piezo'
|
||||
args.actuator char {mustBeMember(args.actuator,{'piezo', 'lorentz', 'amplified'})} = 'piezo'
|
||||
args.ki (1,1) double {mustBeNumeric} = -1
|
||||
args.ke (1,1) double {mustBeNumeric} = -1
|
||||
args.ka (1,1) double {mustBeNumeric} = -1
|
||||
args.ci (1,1) double {mustBeNumeric} = -1
|
||||
args.ce (1,1) double {mustBeNumeric} = -1
|
||||
args.ca (1,1) double {mustBeNumeric} = -1
|
||||
args.k (1,1) double {mustBeNumeric} = -1
|
||||
args.c (1,1) double {mustBeNumeric} = -1
|
||||
% initializeJointDynamics
|
||||
|
@@ -1281,14 +1281,13 @@ We can see two mass lines for the soft nano-hexapod (Figure [[fig:opt_stiffness_
|
||||
ylabel('Phase [deg]'); xlabel('Frequency [Hz]');
|
||||
ylim([-270, 90]);
|
||||
yticks([-360:90:360]);
|
||||
legend('location', 'southwest');
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
i = 7;
|
||||
|
||||
ax1 = subplot(2, 2, 2);
|
||||
ax3 = subplot(2, 2, 2);
|
||||
hold on;
|
||||
for j = 1:length(Fs)
|
||||
plot(freqs, abs(squeeze(freqresp(Gf_err{i,j}('Ez', 'Fz'), freqs, 'Hz'))), '-');
|
||||
@@ -1298,7 +1297,7 @@ We can see two mass lines for the soft nano-hexapod (Figure [[fig:opt_stiffness_
|
||||
ylabel('Amplitude [m/N]'); set(gca, 'XTickLabel',[]);
|
||||
title(sprintf('$k = %.0e$ [N/m]', Ks(i)))
|
||||
|
||||
ax2 = subplot(2, 2, 4);
|
||||
ax4 = subplot(2, 2, 4);
|
||||
hold on;
|
||||
for j = 1:length(Fs)
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gf_err{i,j}('Ez', 'Fz'), freqs, 'Hz')))), '-', ...
|
||||
@@ -1311,17 +1310,19 @@ We can see two mass lines for the soft nano-hexapod (Figure [[fig:opt_stiffness_
|
||||
yticks([-360:90:360]);
|
||||
legend('location', 'southwest');
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
linkaxes([ax3,ax4],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
linkaxes([ax1,ax3],'y');
|
||||
#+end_src
|
||||
|
||||
#+header: :tangle no :exports results :results none :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/opt_stiffness_payload_freq_fz_dz.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/opt_stiffness_payload_freq_fz_dz.pdf', 'width', 'full', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:opt_stiffness_payload_freq_fz_dz
|
||||
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod ([[./figs/opt_stiffness_payload_freq_fz_dz.png][png]], [[./figs/opt_stiffness_payload_freq_fz_dz.pdf][pdf]])
|
||||
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod
|
||||
#+RESULTS:
|
||||
[[file:figs/opt_stiffness_payload_freq_fz_dz.png]]
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
@@ -1419,7 +1420,7 @@ We can see here that for the soft nano-hexapod:
|
||||
|
||||
i = 7;
|
||||
|
||||
ax1 = subplot(2, 2, 2);
|
||||
ax3 = subplot(2, 2, 2);
|
||||
hold on;
|
||||
for j = 1:length(Ms)
|
||||
plot(freqs, abs(squeeze(freqresp(Gm_err{i,j}('Ez', 'Fz'), freqs, 'Hz'))), '-');
|
||||
@@ -1429,7 +1430,7 @@ We can see here that for the soft nano-hexapod:
|
||||
ylabel('Amplitude [m/N]'); set(gca, 'XTickLabel',[]);
|
||||
title(sprintf('$k = %.0e$ [N/m]', Ks(i)))
|
||||
|
||||
ax2 = subplot(2, 2, 4);
|
||||
ax4 = subplot(2, 2, 4);
|
||||
hold on;
|
||||
for j = 1:length(Ms)
|
||||
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(Gm_err{i,j}('Ez', 'Fz'), freqs, 'Hz')))), '-', ...
|
||||
@@ -1442,17 +1443,19 @@ We can see here that for the soft nano-hexapod:
|
||||
yticks([-360:90:360]);
|
||||
legend('location', 'southwest');
|
||||
|
||||
linkaxes([ax1,ax2],'x');
|
||||
linkaxes([ax3,ax4],'x');
|
||||
xlim([freqs(1), freqs(end)]);
|
||||
|
||||
linkaxes([ax1,ax3],'y');
|
||||
#+end_src
|
||||
|
||||
#+header: :tangle no :exports results :results none :noweb yes
|
||||
#+begin_src matlab :var filepath="figs/opt_stiffness_payload_mass_fz_dz.pdf" :var figsize="full-tall" :post pdf2svg(file=*this*, ext="png")
|
||||
<<plt-matlab>>
|
||||
#+begin_src matlab :tangle no :exports results :results file replace
|
||||
exportFig('figs/opt_stiffness_payload_mass_fz_dz.pdf', 'width', 'full', 'height', 'tall');
|
||||
#+end_src
|
||||
|
||||
#+name: fig:opt_stiffness_payload_mass_fz_dz
|
||||
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload mass, both for a soft nano-hexapod and a stiff nano-hexapod ([[./figs/opt_stiffness_payload_mass_fz_dz.png][png]], [[./figs/opt_stiffness_payload_mass_fz_dz.pdf][pdf]])
|
||||
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload mass, both for a soft nano-hexapod and a stiff nano-hexapod
|
||||
#+RESULTS:
|
||||
[[file:figs/opt_stiffness_payload_mass_fz_dz.png]]
|
||||
|
||||
#+begin_src matlab :exports none
|
||||
|
Reference in New Issue
Block a user