57 lines
1.8 KiB
Matlab
57 lines
1.8 KiB
Matlab
%% Script Description
|
|
% Script used to identify the transfer functions of the
|
|
% Stewart platform (from actuator to displacement)
|
|
|
|
%%
|
|
clear; close all; clc;
|
|
|
|
%%
|
|
initializeNanoHexapod();
|
|
|
|
%%
|
|
initializeSample(struct('mass', 0));
|
|
|
|
G_cart_0 = identifyPlantCart();
|
|
|
|
%%
|
|
initializeSample(struct('mass', 10));
|
|
|
|
G_cart_10 = identifyPlantCart();
|
|
|
|
%%
|
|
initializeSample(struct('mass', 50));
|
|
|
|
G_cart_50 = identifyPlantCart();
|
|
|
|
%%
|
|
freqs = logspace(1, 4, 1000);
|
|
|
|
bodeFig({G_cart_0(1, 1), G_cart_10(1, 1), G_cart_50(1, 1)}, freqs, struct('phase', true))
|
|
legend({'$F_x \rightarrow D_x$ - $M = 0Kg$', '$F_x \rightarrow D_x$ - $M = 10Kg$', '$F_x \rightarrow D_x$ - $M = 50Kg$'})
|
|
legend('location', 'southwest')
|
|
exportFig('hexapod_cart_mass_x', 'normal-tall')
|
|
|
|
bodeFig({G_cart_0(3, 3), G_cart_10(3, 3), G_cart_50(3, 3)}, freqs, struct('phase', true))
|
|
legend({'$F_z \rightarrow D_z$ - $M = 0Kg$', '$F_z \rightarrow D_z$ - $M = 10Kg$', '$F_z \rightarrow D_z$ - $M = 50Kg$'})
|
|
legend('location', 'southwest')
|
|
exportFig('hexapod_cart_mass_z', 'normal-tall')
|
|
|
|
%%
|
|
% Bode Plot of the linearized function
|
|
freqs = logspace(2, 4, 1000);
|
|
|
|
bodeFig({G_cart_0(1, 1), G_cart_0(2, 2), G_cart_0(3, 3)}, freqs, struct('phase', true))
|
|
legend({'$F_x \rightarrow D_x$', '$F_y \rightarrow D_y$', '$F_z \rightarrow D_z$'})
|
|
exportFig('hexapod_cart_trans', 'normal-normal')
|
|
|
|
bodeFig({G_cart_0(4, 4), G_cart_0(5, 5), G_cart_0(6, 6)}, freqs, struct('phase', true))
|
|
legend({'$M_x \rightarrow R_x$', '$M_y \rightarrow R_y$', '$M_z \rightarrow R_z$'})
|
|
exportFig('hexapod_cart_rot', 'normal-normal')
|
|
|
|
bodeFig({G_cart_0(1, 1), G_cart_0(2, 1), G_cart_0(3, 1)}, freqs, struct('phase', true))
|
|
legend({'$F_x \rightarrow D_x$', '$F_x \rightarrow D_y$', '$F_x \rightarrow D_z$'})
|
|
exportFig('hexapod_cart_coupling', 'normal-normal')
|
|
|
|
%% Save identify transfer functions
|
|
save('./mat/G_cart.mat', 'G_cart_0', 'G_cart_10', 'G_cart_50');
|