Update the initialization functions

This commit is contained in:
Thomas Dehaeze 2019-11-22 10:36:26 +01:00
parent 4a6a8ee0bc
commit 080996e579
14 changed files with 130 additions and 92 deletions

View File

@ -1,12 +1,12 @@
% Center of gravity compensation % Center of gravity compensation
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeAxisc.m % :header-args:matlab+: :tangle ../src/initializeAxisc.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeAxisc>> % <<sec:initializeAxisc>>
% This Matlab function is accessible [[file:src/initializeAxisc.m][here]]. % This Matlab function is accessible [[file:../src/initializeAxisc.m][here]].
function [axisc] = initializeAxisc() function [axisc] = initializeAxisc()
@ -34,8 +34,8 @@ function [axisc] = initializeAxisc()
axisc.m = 40; % TODO [kg] axisc.m = 40; % TODO [kg]
%% Axis Compensator - Dynamical Properties %% Axis Compensator - Dynamical Properties
axisc.k.ax = 1; % TODO [N*m/deg)] % axisc.k.ax = 1; % TODO [N*m/deg)]
axisc.c.ax = (1/1)*sqrt(axisc.k.ax/axisc.m); % axisc.c.ax = (1/1)*sqrt(axisc.k.ax/axisc.m);
%% Save %% Save
save('./mat/stages.mat', 'axisc', '-append'); save('./mat/stages.mat', 'axisc', '-append');

View File

@ -25,8 +25,8 @@ function [cedrat] = initializeCedratPiezo(opts_param)
cedrat.k = 10e7; % Linear Stiffness of each "blade" [N/m] cedrat.k = 10e7; % Linear Stiffness of each "blade" [N/m]
cedrat.ka = 10e7; % Linear Stiffness of the stack [N/m] cedrat.ka = 10e7; % Linear Stiffness of the stack [N/m]
cedrat.c = 0.1*sqrt(1*cedrat.k); % [N/(m/s)] cedrat.c = 0.1*sqrt(50*cedrat.k); % [N/(m/s)]
cedrat.ca = 0.1*sqrt(1*cedrat.ka); % [N/(m/s)] cedrat.ca = 0.1*sqrt(50*cedrat.ka); % [N/(m/s)]
cedrat.L = 80; % Total Width of the Actuator[mm] cedrat.L = 80; % Total Width of the Actuator[mm]
cedrat.H = 45; % Total Height of the Actuator [mm] cedrat.H = 45; % Total Height of the Actuator [mm]

View File

@ -1,12 +1,12 @@
% Experiment % Experiment
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeExperiment.m % :header-args:matlab+: :tangle ../src/initializeExperiment.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeExperiment>> % <<sec:initializeExperiment>>
% This Matlab function is accessible [[file:src/initializeExperiment.m][here]]. % This Matlab function is accessible [[file:../src/initializeExperiment.m][here]].
function [] = initializeExperiment(exp_name, sys_mass) function [] = initializeExperiment(exp_name, sys_mass)

View File

@ -1,34 +1,60 @@
% Granite % Granite
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeGranite.m % :header-args:matlab+: :tangle ../src/initializeGranite.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeGranite>> % <<sec:initializeGranite>>
% This Matlab function is accessible [[file:src/initializeGranite.m][here]]. % This Matlab function is accessible [[file:../src/initializeGranite.m][here]].
function [granite] = initializeGranite() function [granite] = initializeGranite(opts_param)
%% Default values for opts
opts = struct('rigid', false);
%% Populate opts with input parameters
if exist('opts_param','var')
for opt = fieldnames(opts_param)'
opts.(opt{1}) = opts_param.(opt{1});
end
end
%% %%
granite = struct(); granite = struct();
%% Static Properties %% Static Properties
granite.density = 2800; % [kg/m3] granite.density = 2800; % [kg/m3]
granite.volume = 0.72; % [m3] TODO - should granite.volume = 0.749; % [m3] TODO - should
granite.mass = granite.density*granite.volume; % [kg] granite.mass = granite.density*granite.volume; % [kg]
granite.color = [1 1 1]; granite.color = [1 1 1];
granite.STEP = './STEPS/granite/granite.STEP'; granite.STEP = './STEPS/granite/granite.STEP';
granite.mass_top = 4000; % [kg] TODO
%% Dynamical Properties %% Dynamical Properties
granite.k.x = 1e8; % [N/m] if opts.rigid
granite.c.x = 1e4; % [N/(m/s)] granite.k.x = 1e12; % [N/m]
granite.k.y = 1e12; % [N/m]
granite.k.z = 1e12; % [N/m]
granite.k.rx = 1e10; % [N*m/deg]
granite.k.ry = 1e10; % [N*m/deg]
granite.k.rz = 1e10; % [N*m/deg]
else
granite.k.x = 4e9; % [N/m]
granite.k.y = 3e8; % [N/m]
granite.k.z = 8e8; % [N/m]
granite.k.rx = 1e4; % [N*m/deg]
granite.k.ry = 1e4; % [N*m/deg]
granite.k.rz = 1e6; % [N*m/deg]
end
granite.k.y = 1e8; % [N/m] granite.c.x = 0.1*sqrt(granite.mass_top*granite.k.x); % [N/(m/s)]
granite.c.y = 1e4; % [N/(m/s)] granite.c.y = 0.1*sqrt(granite.mass_top*granite.k.y); % [N/(m/s)]
granite.c.z = 0.5*sqrt(granite.mass_top*granite.k.z); % [N/(m/s)]
granite.k.z = 1e8; % [N/m] granite.c.rx = 0.1*sqrt(granite.mass_top*granite.k.rx); % [N*m/(deg/s)]
granite.c.z = 1e4; % [N/(m/s)] granite.c.ry = 0.1*sqrt(granite.mass_top*granite.k.ry); % [N*m/(deg/s)]
granite.c.rz = 0.1*sqrt(granite.mass_top*granite.k.rz); % [N*m/(deg/s)]
%% Positioning parameters %% Positioning parameters
granite.sample_pos = 0.8; % Z-offset for the initial position of the sample [m] granite.sample_pos = 0.8; % Z-offset for the initial position of the sample [m]

View File

@ -1,12 +1,12 @@
% Ground % Ground
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeGround.m % :header-args:matlab+: :tangle ../src/initializeGround.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeGround>> % <<sec:initializeGround>>
% This Matlab function is accessible [[file:src/initializeGround.m][here]]. % This Matlab function is accessible [[file:../src/initializeGround.m][here]].
function [ground] = initializeGround() function [ground] = initializeGround()

View File

@ -1,12 +1,12 @@
% Inputs % Inputs
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeInputs.m % :header-args:matlab+: :tangle ../src/initializeInputs.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeInputs>> % <<sec:initializeInputs>>
% This Matlab function is accessible [[file:src/initializeInputs.m][here]]. % This Matlab function is accessible [[file:../src/initializeInputs.m][here]].
function [inputs] = initializeInputs(opts_param) function [inputs] = initializeInputs(opts_param)

View File

@ -1,17 +1,17 @@
% Micro Hexapod % Micro Hexapod
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeMicroHexapod.m % :header-args:matlab+: :tangle ../src/initializeMicroHexapod.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeMicroHexapod>> % <<sec:initializeMicroHexapod>>
% This Matlab function is accessible [[file:src/initializeMicroHexapod.m][here]]. % This Matlab function is accessible [[file:../src/initializeMicroHexapod.m][here]].
function [micro_hexapod] = initializeMicroHexapod(opts_param) function [micro_hexapod] = initializeMicroHexapod(opts_param)
%% Default values for opts %% Default values for opts
opts = struct(); opts = struct('rigid', false);
%% Populate opts with input parameters %% Populate opts with input parameters
if exist('opts_param','var') if exist('opts_param','var')
@ -23,7 +23,6 @@ function [micro_hexapod] = initializeMicroHexapod(opts_param)
%% Stewart Object %% Stewart Object
micro_hexapod = struct(); micro_hexapod = struct();
micro_hexapod.h = 350; % Total height of the platform [mm] micro_hexapod.h = 350; % Total height of the platform [mm]
% micro_hexapod.jacobian = 269.26; % Distance from the top platform to the Jacobian point [mm]
micro_hexapod.jacobian = 270; % Distance from the top platform to the Jacobian point [mm] micro_hexapod.jacobian = 270; % Distance from the top platform to the Jacobian point [mm]
%% Bottom Plate - Mechanical Design %% Bottom Plate - Mechanical Design
@ -54,8 +53,12 @@ function [micro_hexapod] = initializeMicroHexapod(opts_param)
Leg = struct(); Leg = struct();
Leg.stroke = 10e-3; % Maximum Stroke of each leg [m] Leg.stroke = 10e-3; % Maximum Stroke of each leg [m]
Leg.k.ax = 5e7; % Stiffness of each leg [N/m] if opts.rigid
Leg.ksi.ax = 3; % Maximum amplification at resonance [] Leg.k.ax = 1e12; % Stiffness of each leg [N/m]
else
Leg.k.ax = 2e7; % Stiffness of each leg [N/m]
end
Leg.ksi.ax = 0.1; % Modal damping ksi = 1/2*c/sqrt(km) []
Leg.rad.bottom = 25; % Radius of the cylinder of the bottom part [mm] Leg.rad.bottom = 25; % Radius of the cylinder of the bottom part [mm]
Leg.rad.top = 17; % Radius of the cylinder of the top part [mm] Leg.rad.top = 17; % Radius of the cylinder of the top part [mm]
Leg.density = 8000; % Density of the material [kg/m^3] Leg.density = 8000; % Density of the material [kg/m^3]
@ -108,7 +111,7 @@ function [micro_hexapod] = initializeMicroHexapod(opts_param)
function [element] = updateDamping(element) function [element] = updateDamping(element)
field = fieldnames(element.k); field = fieldnames(element.k);
for i = 1:length(field) for i = 1:length(field)
element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m); element.c.(field{i}) = 2*element.ksi.(field{i})*sqrt(element.k.(field{i})*element.m);
end end
end end

View File

@ -1,12 +1,12 @@
% Mirror % Mirror
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeMirror.m % :header-args:matlab+: :tangle ../src/initializeMirror.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeMirror>> % <<sec:initializeMirror>>
% This Matlab function is accessible [[file:src/initializeMirror.m][here]]. % This Matlab function is accessible [[file:../src/initializeMirror.m][here]].
function [] = initializeMirror(opts_param) function [] = initializeMirror(opts_param)

View File

@ -1,12 +1,12 @@
% Nano Hexapod % Nano Hexapod
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeNanoHexapod.m % :header-args:matlab+: :tangle ../src/initializeNanoHexapod.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeNanoHexapod>> % <<sec:initializeNanoHexapod>>
% This Matlab function is accessible [[file:src/initializeNanoHexapod.m][here]]. % This Matlab function is accessible [[file:../src/initializeNanoHexapod.m][here]].
function [nano_hexapod] = initializeNanoHexapod(opts_param) function [nano_hexapod] = initializeNanoHexapod(opts_param)
@ -85,7 +85,7 @@ function [nano_hexapod] = initializeNanoHexapod(opts_param)
SP.color.bottom = [0.7 0.7 0.7]; % [rgb] SP.color.bottom = [0.7 0.7 0.7]; % [rgb]
SP.color.top = [0.7 0.7 0.7]; % [rgb] SP.color.top = [0.7 0.7 0.7]; % [rgb]
SP.k.ax = 0; % [N*m/deg] SP.k.ax = 0; % [N*m/deg]
SP.ksi.ax = 3; SP.ksi.ax = 0;
SP.thickness.bottom = SP.height.bottom-Leg.sphere.bottom; % [mm] SP.thickness.bottom = SP.height.bottom-Leg.sphere.bottom; % [mm]
SP.thickness.top = SP.height.top-Leg.sphere.top; % [mm] SP.thickness.top = SP.height.top-Leg.sphere.top; % [mm]
@ -115,7 +115,11 @@ function [nano_hexapod] = initializeNanoHexapod(opts_param)
function [element] = updateDamping(element) function [element] = updateDamping(element)
field = fieldnames(element.k); field = fieldnames(element.k);
for i = 1:length(field) for i = 1:length(field)
if element.ksi.(field{i}) > 0
element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m); element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m);
else
element.c.(field{i}) = 0;
end
end end
end end

View File

@ -1,12 +1,12 @@
% Tilt Stage % Tilt Stage
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeRy.m % :header-args:matlab+: :tangle ../src/initializeRy.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeRy>> % <<sec:initializeRy>>
% This Matlab function is accessible [[file:src/initializeRy.m][here]]. % This Matlab function is accessible [[file:../src/initializeRy.m][here]].
function [ry] = initializeRy(opts_param) function [ry] = initializeRy(opts_param)
@ -41,23 +41,25 @@ function [ry] = initializeRy(opts_param)
ry.stage.color = [0.792 0.820 0.933]; ry.stage.color = [0.792 0.820 0.933];
ry.stage.STEP = './STEPS/ry/Tilt_Stage.STEP'; ry.stage.STEP = './STEPS/ry/Tilt_Stage.STEP';
ry.m = 200; % TODO [kg] ry.m = 800; % TODO [kg]
%% Tilt Stage - Dynamical Properties %% Tilt Stage - Dynamical Properties
if opts.rigid if opts.rigid
ry.k.tilt = 1e10; % Rotation stiffness around y [N*m/deg] ry.k.tilt = 1e10; % Rotation stiffness around y [N*m/deg]
ry.k.h = 1e12; % Stiffness in the direction of the guidance [N/m]
ry.k.rad = 1e12; % Stiffness in the top direction [N/m]
ry.k.rrad = 1e12; % Stiffness in the side direction [N/m]
else else
ry.k.tilt = 1e4; % Rotation stiffness around y [N*m/deg] ry.k.tilt = 1e4; % Rotation stiffness around y [N*m/deg]
ry.k.h = 1e8; % Stiffness in the direction of the guidance [N/m]
ry.k.rad = 1e8; % Stiffness in the top direction [N/m]
ry.k.rrad = 1e8; % Stiffness in the side direction [N/m]
end end
ry.k.h = 357e6/4; % Stiffness in the direction of the guidance [N/m] ry.c.h = 0.1*sqrt(ry.k.h*ry.m);
ry.k.rad = 555e6/4; % Stiffness in the top direction [N/m] ry.c.rad = 0.1*sqrt(ry.k.rad*ry.m);
ry.k.rrad = 238e6/4; % Stiffness in the side direction [N/m] ry.c.rrad = 0.1*sqrt(ry.k.rrad*ry.m);
ry.c.tilt = 0.1*sqrt(ry.k.tilt*ry.m);
ry.c.h = 10*(1/5)*sqrt(ry.k.h/ry.m);
ry.c.rad = 10*(1/5)*sqrt(ry.k.rad/ry.m);
ry.c.rrad = 10*(1/5)*sqrt(ry.k.rrad/ry.m);
ry.c.tilt = 10*(1/1)*sqrt(ry.k.tilt/ry.m);
%% Positioning parameters %% Positioning parameters
ry.z_offset = 0.58178; % Z-Offset so that the center of rotation matches the sample center [m] ry.z_offset = 0.58178; % Z-Offset so that the center of rotation matches the sample center [m]

View File

@ -1,12 +1,12 @@
% Spindle % Spindle
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeRz.m % :header-args:matlab+: :tangle ../src/initializeRz.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeRz>> % <<sec:initializeRz>>
% This Matlab function is accessible [[file:src/initializeRz.m][here]]. % This Matlab function is accessible [[file:../src/initializeRz.m][here]].
function [rz] = initializeRz(opts_param) function [rz] = initializeRz(opts_param)
@ -41,22 +41,24 @@ function [rz] = initializeRz(opts_param)
rz.m = 250; % [kg] rz.m = 250; % [kg]
%% Spindle - Dynamical Properties %% Spindle - Dynamical Properties
% Estimated stiffnesses
rz.k.ax = 2e9; % Axial Stiffness [N/m]
rz.k.rad = 7e8; % Radial Stiffness [N/m]
rz.k.rot = 100e6*2*pi/360; % Rotational Stiffness [N*m/deg]
if opts.rigid if opts.rigid
rz.k.tilt = 1e10; % Vertical Rotational Stiffness [N*m/deg] rz.k.rot = 1e10; % Rotational Stiffness (Rz) [N*m/deg]
rz.k.tilt = 1e10; % Rotational Stiffness (Rx, Ry) [N*m/deg]
rz.k.ax = 1e12; % Axial Stiffness (Z) [N/m]
rz.k.rad = 1e12; % Radial Stiffness (X, Y) [N/m]
else else
rz.k.tilt = 1e2; % TODO what value should I put? [N*m/deg] rz.k.rot = 1e6; % TODO - Rotational Stiffness (Rz) [N*m/deg]
rz.k.tilt = 1e6; % Rotational Stiffness (Rx, Ry) [N*m/deg]
rz.k.ax = 2e9; % Axial Stiffness (Z) [N/m]
rz.k.rad = 7e8; % Radial Stiffness (X, Y) [N/m]
end end
% TODO % Damping
rz.c.ax = 2*sqrt(rz.k.ax/rz.m); rz.c.ax = 0.1*sqrt(rz.k.ax*rz.m);
rz.c.rad = 2*sqrt(rz.k.rad/rz.m); rz.c.rad = 0.1*sqrt(rz.k.rad*rz.m);
rz.c.tilt = 100*sqrt(rz.k.tilt/rz.m); rz.c.tilt = 0.1*sqrt(rz.k.tilt*rz.m);
rz.c.rot = 100*sqrt(rz.k.rot/rz.m); rz.c.rot = 0.1*sqrt(rz.k.rot*rz.m);
%% Save %% Save
save('./mat/stages.mat', 'rz', '-append'); save('./mat/stages.mat', 'rz', '-append');

View File

@ -1,12 +1,12 @@
% Sample % Sample
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeSample.m % :header-args:matlab+: :tangle ../src/initializeSample.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeSample>> % <<sec:initializeSample>>
% This Matlab function is accessible [[file:src/initializeSample.m][here]]. % This Matlab function is accessible [[file:../src/initializeSample.m][here]].
function [sample] = initializeSample(opts_param) function [sample] = initializeSample(opts_param)
@ -27,13 +27,13 @@ function [sample] = initializeSample(opts_param)
%% %%
sample.k.x = 1e8; sample.k.x = 1e8;
sample.c.x = sqrt(sample.k.x*sample.mass)/10; sample.c.x = 0.1*sqrt(sample.k.x*sample.mass);
sample.k.y = 1e8; sample.k.y = 1e8;
sample.c.y = sqrt(sample.k.y*sample.mass)/10; sample.c.y = 0.1*sqrt(sample.k.y*sample.mass);
sample.k.z = 1e8; sample.k.z = 1e8;
sample.c.z = sqrt(sample.k.y*sample.mass)/10; sample.c.z = 0.1*sqrt(sample.k.z*sample.mass);
%% Save %% Save
save('./mat/stages.mat', 'sample', '-append'); save('./mat/stages.mat', 'sample', '-append');

View File

@ -1,12 +1,12 @@
% Simulation Configuration % Simulation Configuration
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeSimConf.m % :header-args:matlab+: :tangle ../src/initializeSimConf.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeSimConf>> % <<sec:initializeSimConf>>
% This Matlab function is accessible [[file:src/initializeSimConf.m][here]]. % This Matlab function is accessible [[file:../src/initializeSimConf.m][here]].
function [] = initializeSimConf(opts_param) function [] = initializeSimConf(opts_param)

View File

@ -1,12 +1,12 @@
% Translation Stage % Translation Stage
% :PROPERTIES: % :PROPERTIES:
% :header-args:matlab+: :tangle src/initializeTy.m % :header-args:matlab+: :tangle ../src/initializeTy.m
% :header-args:matlab+: :comments org :mkdirp yes % :header-args:matlab+: :comments org :mkdirp yes
% :header-args:matlab+: :eval no :results none % :header-args:matlab+: :eval no :results none
% :END: % :END:
% <<sec:initializeTy>> % <<sec:initializeTy>>
% This Matlab function is accessible [[file:src/initializeTy.m][here]]. % This Matlab function is accessible [[file:../src/initializeTy.m][here]].
function [ty] = initializeTy(opts_param) function [ty] = initializeTy(opts_param)
@ -61,18 +61,19 @@ function [ty] = initializeTy(opts_param)
ty.rotor.color = [0.792 0.820 0.933]; ty.rotor.color = [0.792 0.820 0.933];
ty.rotor.STEP = './STEPS/ty/Ty_Motor_Rotor.STEP'; ty.rotor.STEP = './STEPS/ty/Ty_Motor_Rotor.STEP';
ty.m = 250; % TODO [kg] ty.m = 1000; % TODO [kg]
%% Y-Translation - Dynamicals Properties %% Y-Translation - Dynamicals Properties
if opts.rigid if opts.rigid
ty.k.ax = 1e10; % Axial Stiffness for each of the 4 guidance (y) [N/m] ty.k.ax = 1e12; % Axial Stiffness for each of the 4 guidance (y) [N/m]
ty.k.rad = 1e12; % Radial Stiffness for each of the 4 guidance (x-z) [N/m]
else else
ty.k.ax = 1e7/4; % Axial Stiffness for each of the 4 guidance (y) [N/m] ty.k.ax = 5e7; % Axial Stiffness for each of the 4 guidance (y) [N/m]
ty.k.rad = 5e7; % Radial Stiffness for each of the 4 guidance (x-z) [N/m]
end end
ty.k.rad = 9e9/4; % Radial Stiffness for each of the 4 guidance (x-z) [N/m]
ty.c.ax = 100*(1/5)*sqrt(ty.k.ax/ty.m); ty.c.ax = 0.1*sqrt(ty.k.ax*ty.m);
ty.c.rad = 100*(1/5)*sqrt(ty.k.rad/ty.m); ty.c.rad = 0.1*sqrt(ty.k.rad*ty.m);
%% Save %% Save
save('./mat/stages.mat', 'ty', '-append'); save('./mat/stages.mat', 'ty', '-append');