Christophe's review

This commit is contained in:
2025-03-28 14:31:40 +01:00
parent 38115dd2c6
commit 73de5c5adc
18 changed files with 671 additions and 581 deletions

View File

@@ -18,7 +18,7 @@ mdl = 'nano_hexapod_model';
%% Colors for the figures
colors = colororder;
%% Frequency Vector
%% Frequency Vector [Hz]
freqs = logspace(0, 3, 1000);
% Validation of the multi-body model
@@ -44,13 +44,13 @@ freqs = logspace(0, 3, 1000);
% [[file:figs/nhexa_simscape_screenshot.jpg]]
% #+end_minipage
% The validation of the multi-body model is performed using the simplest Stewart platform configuration, enabling direct comparison with the analytical transfer functions derived in Section ref:ssec:nhexa_stewart_platform_dynamics.
% The validation of the multi-body model was performed using the simplest Stewart platform configuration, enabling direct comparison with the analytical transfer functions derived in Section ref:ssec:nhexa_stewart_platform_dynamics.
% This configuration consists of massless universal joints at the base, massless spherical joints at the top platform, and massless struts with stiffness $k_a = 1\,\text{N}/\mu\text{m}$ and damping $c_a = 10\,\text{N}/({\text{m}/\text{s}})$.
% The geometric parameters remain as specified in Table ref:tab:nhexa_actuator_parameters.
% While the moving platform itself is considered massless, a $10\,\text{kg}$ cylindrical payload is mounted on top with a radius of $r = 110\,mm$ and a height $h = 300\,mm$.
% For the analytical model, the stiffness, damping and mass matrices are defined in eqref:eq:nhexa_analytical_matrices.
% For the analytical model, the stiffness, damping, and mass matrices are defined in eqref:eq:nhexa_analytical_matrices.
% \begin{subequations}\label{eq:nhexa_analytical_matrices}
% \begin{align}
@@ -60,9 +60,9 @@ freqs = logspace(0, 3, 1000);
% \end{align}
% \end{subequations}
% The transfer functions from actuator forces to strut displacements are computed using these matrices according to equation eqref:eq:nhexa_transfer_function_struts.
% The transfer functions from the actuator forces to the strut displacements are computed using these matrices according to equation eqref:eq:nhexa_transfer_function_struts.
% These analytical transfer functions are then compared with those extracted from the multi-body model.
% The multi-body model yields a state-space representation with 12 states, corresponding to the six degrees of freedom of the moving platform.
% The developed multi-body model yields a state-space representation with 12 states, corresponding to the six degrees of freedom of the moving platform.
% Figure ref:fig:nhexa_comp_multi_body_analytical presents a comparison between the analytical and multi-body transfer functions, specifically showing the response from the first actuator force to all six strut displacements.
% The close agreement between both approaches across the frequency spectrum validates the multi-body model's accuracy in capturing the system's dynamic behavior.
@@ -123,7 +123,7 @@ tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
ax1 = nexttile([2,1]);
hold on;
for i = 1:6
plot(freqs, abs(squeeze(freqresp(G_simscape(i,1), freqs, 'Hz'))), 'color', [colors(i,:), 0.5], ...
plot(freqs, abs(squeeze(freqresp(G_simscape(i,1), freqs, 'Hz'))), 'color', [colors(i,:), 0.5], 'linewidth', 2.5, ...
'DisplayName', sprintf('$l_%i/f_1$ - Multi-Body', i))
end
for i = 1:6
@@ -140,7 +140,7 @@ leg.ItemTokenSize(1) = 15;
ax2 = nexttile;
hold on;
for i = 1:6
plot(freqs, 180/pi*angle(squeeze(freqresp(G_simscape(i,1), freqs, 'Hz'))), 'color', [colors(i,:),0.5]);
plot(freqs, 180/pi*angle(squeeze(freqresp(G_simscape(i,1), freqs, 'Hz'))), 'color', [colors(i,:),0.5], 'linewidth', 2.5);
end
for i = 1:6
plot(freqs, 180/pi*angle(squeeze(freqresp(G_analytical(i,1), freqs, 'Hz'))), '--', 'color', colors(i,:));
@@ -157,13 +157,13 @@ xlim([freqs(1), freqs(end)]);
% Nano Hexapod Dynamics
% <<ssec:nhexa_model_dynamics>>
% Following the validation of the multi-body model, a detailed analysis of the nano-hexapod dynamics has been performed.
% The model parameters are set according to the specifications outlined in Section ref:ssec:nhexa_model_def, with a payload mass of $10\,kg$.
% Transfer functions from actuator forces $\bm{f}$ to both strut displacements $\bm{\mathcal{L}}$ and force measurements $\bm{f}_n$ are derived from the multi-body model.
% Following the validation of the multi-body model, a detailed analysis of the nano-hexapod dynamics was performed.
% The model parameters were set according to the specifications outlined in Section ref:ssec:nhexa_model_def, with a payload mass of $10\,kg$.
% The transfer functions from actuator forces $\bm{f}$ to both strut displacements $\bm{\mathcal{L}}$ and force measurements $\bm{f}_n$ were derived from the multi-body model.
% The transfer functions relating actuator forces to strut displacements are presented in Figure ref:fig:nhexa_multi_body_plant_dL.
% Due to the system's symmetrical design and identical strut configurations, all diagonal terms (transfer functions from force $f_i$ to displacement $l_i$ of the same strut) exhibit identical behavior.
% While the system possesses six degrees of freedom, only four distinct resonance frequencies are observed in the frequency response.
% While the system has six degrees of freedom, only four distinct resonance frequencies were observed in the frequency response.
% This reduction from six to four observable modes is attributed to the system's symmetry, where two pairs of resonances occur at identical frequencies.
% The system's behavior can be characterized in three frequency regions.
@@ -173,7 +173,7 @@ xlim([freqs(1), freqs(end)]);
% The force sensor transfer functions, shown in Figure ref:fig:nhexa_multi_body_plant_fm, display characteristics typical of collocated actuator-sensor pairs.
% Each actuator's transfer function to its associated force sensor exhibits alternating complex conjugate poles and zeros.
% The inclusion of parallel stiffness introduces an additional complex conjugate zero at low frequency, a feature previously observed in the three-degree-of-freedom rotating model.
% The inclusion of parallel stiffness introduces an additional complex conjugate zero at low frequency, which was previously observed in the three-degree-of-freedom rotating model.
%% Multi-Body model of the Nano-Hexapod