stewart-simscape/stewart_parameters.m

67 lines
1.6 KiB
Mathematica
Raw Normal View History

2018-04-27 12:59:42 +02:00
%% Nass height
2018-05-03 18:14:24 +02:00
stewart = struct();
stewart.h = 90; %mm
stewart.jacobian = 174.5; %mm
2018-04-27 12:59:42 +02:00
2018-04-27 11:47:01 +02:00
%% Bottom Plate
BP = struct();
2018-05-08 11:48:09 +02:00
BP.rad.int = 0; %mm
BP.rad.ext = 150; %mm
BP.thickness = 10; % mm
2018-05-18 12:50:38 +02:00
BP.leg.rad = 100; %mm
BP.leg.ang = 5; %deg
BP.density = 8000; %kg/m^3
BP.color = [0.5 0.5 0.5]; %rgb
2018-04-27 11:47:01 +02:00
2018-04-27 12:59:42 +02:00
%% TOP Plate
TP = struct();
TP.rad.int = 0;%mm
2018-05-18 12:50:38 +02:00
TP.rad.ext = 100; %mm
2018-05-08 11:48:09 +02:00
TP.thickness = 10; % mm
2018-05-18 12:50:38 +02:00
TP.leg.rad = 90; %mm
TP.leg.ang = 5; %deg
TP.density = 8000; %kg/m^3
TP.color = [0.5 0.5 0.5]; %rgb
2018-04-27 11:47:01 +02:00
2018-05-03 17:51:30 +02:00
%% Leg
2018-04-27 12:59:42 +02:00
Leg = struct();
Leg.stroke = 80e-6; % m
Leg.rad.bottom = 8; %mm
Leg.rad.top = 5; %mm
Leg.sphere.bottom = 10; % mm
Leg.sphere.top = 8; % mm
Leg.density = 8000; %kg/m^3
2018-05-03 18:14:24 +02:00
Leg.lenght = stewart.h; % mm (approximate)
2018-05-03 09:29:38 +02:00
Leg.m = Leg.density*2*pi*((Leg.rad.bottom*1e-3)^2)*(Leg.lenght*1e-3); %kg
Leg.color.bottom = [0.5 0.5 0.5]; %rgb
Leg.color.top = [0.5 0.5 0.5]; %rgb
2018-05-03 09:29:38 +02:00
Leg.k.ax = 5e7; % N/m
Leg.ksi.ax = 10;
2018-04-27 12:59:42 +02:00
Leg = updateDamping(Leg);
2018-04-27 11:47:01 +02:00
2018-04-27 12:59:42 +02:00
%% Sphere
SP = struct();
SP.thickness.bottom = 1; %mm
SP.thickness.top = 1; %mm
SP.rad.bottom = Leg.sphere.bottom; %mm
SP.rad.top = Leg.sphere.top; %mm
SP.height.bottom = 5; %mm
SP.height.top = 5; %mm
SP.density.bottom = 8000; %kg/m^3
SP.density.top = 8000; %kg/m^3
2018-05-03 09:29:38 +02:00
SP.m = SP.density.bottom*2*pi*((SP.rad.bottom*1e-3)^2)*(SP.height.bottom*1e-3); %kg
SP.color.bottom = [0.5 0.5 0.5]; %rgb
SP.color.top = [0.5 0.5 0.5]; %rgb
2018-05-18 12:50:38 +02:00
SP.k.ax = 1e2; % N*m/deg
SP.ksi.ax = 10;
2018-04-27 12:59:42 +02:00
SP = updateDamping(SP);
2018-04-27 11:47:01 +02:00
%%
function element = updateDamping(element)
field = fieldnames(element.k);
for i = 1:length(field)
element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m);
end
end