Huge Change
- Add may folders - Add IFF and HAC-LAC scripts
This commit is contained in:
25
initialize/initializeExperiment.m
Normal file
25
initialize/initializeExperiment.m
Normal file
@@ -0,0 +1,25 @@
|
||||
function [] = initializeExperiment(exp_name, sys_mass)
|
||||
if strcmp(exp_name, 'tomography')
|
||||
opts_sim = struct(...
|
||||
'Tsim', 5, ...
|
||||
'cl_time', 5 ...
|
||||
);
|
||||
initializeSimConf(opts_sim);
|
||||
|
||||
if strcmp(sys_mass, 'light')
|
||||
opts_inputs = struct(...
|
||||
'ground_motion', true, ...
|
||||
'rz', 60 ... % rpm
|
||||
);
|
||||
elseif strcpm(sys_mass, 'heavy')
|
||||
opts_inputs = struct(...
|
||||
'ground_motion', true, ...
|
||||
'rz', 1 ... % rpm
|
||||
);
|
||||
else
|
||||
error('sys_mass should be light or heavy');
|
||||
end
|
||||
|
||||
initializeInputs(opts_inputs);
|
||||
elseif
|
||||
end
|
@@ -1,13 +1,13 @@
|
||||
function [inputs] = initializeInputs(opts_param)
|
||||
%% Default values for opts
|
||||
opts = struct('setpoint', false, ...
|
||||
opts = struct('setpoint', false, ...
|
||||
'ground_motion', false, ...
|
||||
'ty', false, ...
|
||||
'ry', false, ...
|
||||
'rz', false, ... % If numerical value, rpm speed of the spindle
|
||||
'u_hexa', false, ...
|
||||
'mass', false, ...
|
||||
'n_hexa', false ...
|
||||
'ty', false, ...
|
||||
'ry', false, ...
|
||||
'rz', false, ... % If numerical value, rpm speed of the spindle
|
||||
'u_hexa', false, ...
|
||||
'mass', false, ...
|
||||
'n_hexa', false ...
|
||||
);
|
||||
|
||||
%% Populate opts with input parameters
|
||||
@@ -112,22 +112,14 @@ function [inputs] = initializeInputs(opts_param)
|
||||
%% Set point [m, rad]
|
||||
if islogical(opts.setpoint) && opts.setpoint == true
|
||||
setpoint = zeros(length(time_vector), 6);
|
||||
setpoint(ceil(10/sim_conf.Ts):end, 2) = 1e-6; % Step of 1 micro-meter in y direction
|
||||
elseif islogical(opts.setpoint) && opts.setpoint == false
|
||||
setpoint = zeros(length(time_vector), 6);
|
||||
else
|
||||
setpoint = opts.setpoint;
|
||||
end
|
||||
|
||||
% The setpoint in rotation should be the same as the rotation of the Spindle
|
||||
% Should change that. And think how to include all the setpoint of each stage in this
|
||||
% global setpoint. Maybe do everything in simulink
|
||||
setpoint(:, 6) = rz;
|
||||
|
||||
inputs.setpoint = timeseries(setpoint, time_vector);
|
||||
|
||||
%% Save if no output argument
|
||||
if nargout == 0
|
||||
save('./mat/inputs.mat', 'inputs');
|
||||
end
|
||||
%% Save
|
||||
save('./mat/inputs.mat', 'inputs');
|
||||
end
|
||||
|
@@ -1,9 +1,9 @@
|
||||
function [] = initializeSimConf(opts_param)
|
||||
%% Default values for opts
|
||||
opts = struct('Ts', 1e-4, ... % Sampling time [s]
|
||||
'Tsim', 10, ... % Simulation time [s]
|
||||
'cl_time', 0, ... % Close Loop time [s]
|
||||
'gravity', false ... % Gravity along the z axis [m/s^2]
|
||||
opts = struct('Ts', 1e-4, ... % Sampling time [s]
|
||||
'Tsim', 10, ... % Simulation time [s]
|
||||
'cl_time', 0, ... % Close Loop time [s]
|
||||
'gravity', false ... % Gravity along the z axis
|
||||
);
|
||||
|
||||
%% Populate opts with input parameters
|
||||
@@ -23,13 +23,11 @@ function [] = initializeSimConf(opts_param)
|
||||
|
||||
%% Gravity
|
||||
if opts.gravity
|
||||
sim_conf.g = -9.8;
|
||||
sim_conf.g = -9.8; %#ok
|
||||
else
|
||||
sim_conf.g = 0;
|
||||
sim_conf.g = 0; %#ok
|
||||
end
|
||||
|
||||
%% Save
|
||||
save('./mat/sim_conf.mat', 'sim_conf');
|
||||
|
||||
end
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
function [smiData] = initializeSmiData()
|
||||
%% Initialize the structure
|
||||
smiData = struct;
|
||||
smiData = struct();
|
||||
|
||||
%% Rigid Transform
|
||||
smiData.RigidTransform = struct;
|
||||
@@ -265,6 +265,30 @@ function [smiData] = initializeSmiData()
|
||||
smiData.RigidTransform(65).axis = [-0.57735026918962584 -0.57735026918962584 -0.57735026918962584];
|
||||
smiData.RigidTransform(65).ID = 'B[Guide_Tilt-2:-:Plateau_Tilt-1]';
|
||||
smiData.RigidTransform(66).translation = [-313.5 0 0];
|
||||
smiData.RigidTransform(66).angle = 2.0943951023931962;
|
||||
smiData.RigidTransform(66).axis = [-0.577350269189626 -0.57735026918962606 0.5773502691896254];
|
||||
smiData.RigidTransform(66).ID = 'F[Guide_Tilt-2:-:Plateau_Tilt-1]';
|
||||
smiData.RigidTransform(67).translation = [0 -5 600];
|
||||
smiData.RigidTransform(67).angle = 2.0943951023931953;
|
||||
smiData.RigidTransform(67).axis = [-0.57735026918962584 -0.57735026918962584 -0.57735026918962584];
|
||||
smiData.RigidTransform(67).ID = 'B[Guide_Tilt-3:-:Plateau_Tilt-1]';
|
||||
smiData.RigidTransform(68).translation = [313.5 0 0];
|
||||
smiData.RigidTransform(68).angle = 2.0943951023931948;
|
||||
smiData.RigidTransform(68).axis = [0.57735026918962551 0.57735026918962562 0.57735026918962629];
|
||||
smiData.RigidTransform(68).ID = 'F[Guide_Tilt-3:-:Plateau_Tilt-1]';
|
||||
smiData.RigidTransform(69).translation = [0 -5 600];
|
||||
smiData.RigidTransform(69).angle = 2.0943951023931953;
|
||||
smiData.RigidTransform(69).axis = [-0.57735026918962584 -0.57735026918962584 -0.57735026918962584];
|
||||
smiData.RigidTransform(69).ID = 'B[Guide_Tilt-4:-:Plateau_Tilt-1]';
|
||||
smiData.RigidTransform(70).translation = [313.5 0 0];
|
||||
smiData.RigidTransform(70).angle = 2.0943951023931948;
|
||||
smiData.RigidTransform(70).axis = [0.57735026918962551 0.57735026918962562 0.57735026918962629];
|
||||
smiData.RigidTransform(70).ID = 'F[Guide_Tilt-4:-:Plateau_Tilt-1]';
|
||||
smiData.RigidTransform(71).translation = [146.02 0 0];
|
||||
smiData.RigidTransform(71).angle = 2.0943951023931953;
|
||||
smiData.RigidTransform(71).axis = [0.57735026918962584 0.57735026918962584 0.57735026918962584];
|
||||
smiData.RigidTransform(71).ID = 'B[Bati_Spindle-1:-:Axe_Spindle-1]';
|
||||
smiData.RigidTransform(72).translation = [146.2 0 0];
|
||||
smiData.RigidTransform(72).angle = 2.0943951023931957;
|
||||
smiData.RigidTransform(72).axis = [0.57735026918962573 0.57735026918962584 0.57735026918962573];
|
||||
smiData.RigidTransform(72).ID = 'F[Bati_Spindle-1:-:Axe_Spindle-1]';
|
||||
@@ -1348,8 +1372,6 @@ function [smiData] = initializeSmiData()
|
||||
smiData.SphericalJoint(24).S.Pos.Axis = [0.77690891930122863 0.35378802664966663 0.52081336706111148];
|
||||
smiData.SphericalJoint(24).ID = '[BrasHaut_Nano-6:-:Nacelle_Nano_Support-1]';
|
||||
|
||||
%% If no output argument, save the object
|
||||
if nargout == 0
|
||||
save('./mat/smiData.mat', 'smiData')
|
||||
end
|
||||
%% Save
|
||||
save('./mat/smiData.mat', 'smiData')
|
||||
end
|
||||
|
Reference in New Issue
Block a user