Add NASS LIBRARY for simscape
This commit is contained in:
parent
5aa652167f
commit
abe9a2ffdd
Binary file not shown.
@ -3,7 +3,7 @@ clear; close all; clc;
|
||||
|
||||
%% Initialize simulation configuration
|
||||
opts_sim = struct(...
|
||||
'Tsim', 1 ...
|
||||
'Tsim', 1 ...
|
||||
);
|
||||
|
||||
initializeSimConf(opts_sim);
|
||||
@ -14,10 +14,10 @@ load('./mat/sim_conf.mat', 'sim_conf')
|
||||
time_vector = 0:sim_conf.Ts:sim_conf.Tsim;
|
||||
|
||||
% Translation Stage
|
||||
ty = 0.05*ones(length(time_vector), 1);
|
||||
ty = 0*ones(length(time_vector), 1);
|
||||
|
||||
% Tilt Stage
|
||||
ry = 2*pi*(3/360)*ones(length(time_vector), 1);
|
||||
ry = 2*pi*(0/360)*ones(length(time_vector), 1);
|
||||
% ry = 2*pi*(3/360)*sin(2*pi*time_vector);
|
||||
|
||||
% Spindle
|
||||
|
@ -2,4 +2,4 @@
|
||||
clear; close all; clc;
|
||||
|
||||
%%
|
||||
sim('Micro_Station_Displacement.slx');
|
||||
sim('Micro_Station_Displacement.slx');
|
||||
|
@ -2,7 +2,7 @@
|
||||
clear; close all; clc;
|
||||
|
||||
%% Load the identified transfer functions
|
||||
save('./mat/G.mat', 'G_light_vc', 'G_light_pz', 'G_heavy_vc', 'G_heavy_pz');
|
||||
load('./mat/G.mat', 'G_light_vc', 'G_light_pz', 'G_heavy_vc', 'G_heavy_pz');
|
||||
|
||||
%% Load Configuration file
|
||||
load('./mat/config.mat', 'save_fig', 'freqs');
|
||||
|
@ -13,7 +13,7 @@ options = linearizeOptions;
|
||||
options.SampleTime = 0;
|
||||
|
||||
%% Name of the Simulink File
|
||||
mdl = 'simscape_id_micro_station';
|
||||
mdl = 'sim_micro_station';
|
||||
|
||||
%% Micro-Hexapod
|
||||
% Input/Output definition
|
||||
@ -32,11 +32,11 @@ G_ms_flexible = linearize(mdl, io, 0);
|
||||
|
||||
% Input/Output names
|
||||
G_ms_flexible.InputName = {'Fmx', 'Fmy', 'Fmz',...
|
||||
'Fgx', 'Fgy', 'Fgz'};
|
||||
'Fgx', 'Fgy', 'Fgz'};
|
||||
G_ms_flexible.OutputName = {'Dmx', 'Dmy', 'Dmz', ...
|
||||
'Tyx', 'Tyy', 'Tyz', ...
|
||||
'Ryx', 'Ryy', 'Ryz', ...
|
||||
'Dgx', 'Dgy', 'Dgz'};
|
||||
'Tyx', 'Tyy', 'Tyz', ...
|
||||
'Ryx', 'Ryy', 'Ryz', ...
|
||||
'Dgx', 'Dgy', 'Dgz'};
|
||||
|
||||
%% Run the linearization
|
||||
initializeTy(struct('rigid', true));
|
||||
|
@ -30,3 +30,13 @@ run id_stages.m
|
||||
|
||||
% Plot de obtained transfer functions
|
||||
run id_stages_plots.m
|
||||
|
||||
%% Identification of the variation of the plant
|
||||
run id_plant_variation.m
|
||||
|
||||
run id_plant_variation_plots.m
|
||||
|
||||
%% Study the effect of the flexibility of each Stage
|
||||
run id_flexible_rigid.m
|
||||
|
||||
run id_flexible_rigid_plots.m
|
||||
|
@ -11,7 +11,7 @@ options = linearizeOptions;
|
||||
options.SampleTime = 0;
|
||||
|
||||
%% Name of the Simulink File
|
||||
mdl = 'simscape_id_micro_station';
|
||||
mdl = 'sim_micro_station';
|
||||
|
||||
%% Micro-Hexapod
|
||||
% Input/Output definition
|
||||
|
@ -2,8 +2,9 @@
|
||||
clear; close all; clc;
|
||||
|
||||
%%
|
||||
K = tf(zeros(6));
|
||||
K_iff = tf(zeros(6));
|
||||
save('./mat/controllers.mat', 'K_iff', '-append');
|
||||
save('./mat/controllers.mat', 'K', 'K_iff', '-append');
|
||||
|
||||
%% Light Sample
|
||||
initializeSample(struct('mass', 1));
|
||||
|
@ -1,10 +1,17 @@
|
||||
function [] = initializeGranite()
|
||||
function [granite] = initializeGranite()
|
||||
%%
|
||||
granite = struct();
|
||||
|
||||
granite.m = 2000; % [kg]
|
||||
granite.k.ax = 1e8; % [N/m] x-y-z Stiffness of the granite
|
||||
granite.c.ax = 1e4; % [N/(m/s)]
|
||||
|
||||
granite.k.x = 1e8; % [N/m]
|
||||
granite.c.x = 1e4; % [N/(m/s)]
|
||||
|
||||
granite.k.y = 1e8; % [N/m]
|
||||
granite.c.y = 1e4; % [N/(m/s)]
|
||||
|
||||
granite.k.z = 1e8; % [N/m]
|
||||
granite.c.z = 1e4; % [N/(m/s)]
|
||||
|
||||
%% Save
|
||||
save('./mat/stages.mat', 'granite', '-append');
|
||||
|
@ -1,4 +1,4 @@
|
||||
function [] = initializeMicroHexapod(opts_param)
|
||||
function [micro_hexapod] = initializeMicroHexapod(opts_param)
|
||||
%% Default values for opts
|
||||
opts = struct();
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
function [] = initializeSample(opts_param)
|
||||
function [sample] = initializeSample(opts_param)
|
||||
%% Default values for opts
|
||||
sample = struct('radius', 100, ...
|
||||
'height', 300, ...
|
||||
@ -13,7 +13,17 @@ function [] = initializeSample(opts_param)
|
||||
sample.(opt{1}) = opts_param.(opt{1});
|
||||
end
|
||||
end
|
||||
|
||||
%%
|
||||
sample.k.x = 1e8;
|
||||
sample.c.x = sqrt(sample.k.x*sample.mass)/10;
|
||||
|
||||
%% Save if no output argument
|
||||
sample.k.y = 1e8;
|
||||
sample.c.y = sqrt(sample.k.y*sample.mass)/10;
|
||||
|
||||
sample.k.z = 1e8;
|
||||
sample.c.z = sqrt(sample.k.y*sample.mass)/10;
|
||||
|
||||
%% Save
|
||||
save('./mat/stages.mat', 'sample', '-append');
|
||||
end
|
||||
|
BIN
nass_library.slx
Normal file
BIN
nass_library.slx
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user