diff --git a/Design_Nass.m b/Design_Nass.m index cc559fb..8803790 100644 --- a/Design_Nass.m +++ b/Design_Nass.m @@ -1,77 +1,59 @@ run Formule_Nass.m +%% Nass height +Nass.h = 90 ; %mm + %% Bottom Plate BP = struct(); BP.rad.int = 105 ; %mm BP.rad.ext = 152.5 ; %mm +BP.thickness = 20 % mm BP.leg.rad = 140 ; %mm BP.leg.ang = 2.5 ; %deg BP.density = 1000 ; %kg/m^3 -BP.k.ax = 1e7/4; %z -BP.k.rad = 9e9/4; %x -BP.k.rrad = 9e9/4; %y -BP.ksi.ax = 10; -BP.ksi.rad = 10; -BP.ksi.rrad = 10; -BP = updateDamping(BP); +BP.color = [0.5 0.5 0.5] ; %rgb + +%% TOP Plate +TP = struct(); +TP.rad.int = 0 ;%mm +TP.rad.ext = 150 ; %mm +TP.thickness = 20 % mm +TP.leg.rad = 140 ; %mm +TP.leg.ang = 5 ; %deg +TP.density = 1000 ; %kg/m^3 +TP.color = [0.5 0.5 0.5] ; %rgb + +%% Leg +Leg = struct(); +Leg.rad.bottom = 15 ; %mm +Leg.rad.top = 10 ; %mm +Leg.sphere.bottom = 20 ; % mm +Leg.sphere.top = 10 ; % mm +Leg.density = 1000 ; %kg/m^3 +Leg.m = Leg.density*2*pi*((Leg.rad.bottom)^2)*(Leg.lenght); %kg +Leg.color.bottom = [0.5 0.5 0.5] ; %rgb +Leg.color.top = [0.5 0.5 0.5] ; %rgb +Leg.k.ax = 5e7; % N/m +Leg.ksi.ax = 10 ; +Leg = updateDamping(Leg); -%% Tilt -ry = struct(); -ry.m = smiData.Solid(26).mass+smiData.Solid(18).mass+smiData.Solid(10).mass; -ry.k.h = 357e6/4; %y -ry.k.rad = 555e6/4; %x -ry.k.rrad = 238e6/4; %z -ry.k.tilt = 1e4 ; % rz in actuator -ry.ksi.h = 10; -ry.ksi.rad = 10; -ry.ksi.rrad = 10; -ry.ksi.tilt = 10; -ry = updateDamping(ry); - - -%% Spindle -rz = struct(); -rz.m = smiData.Solid(12).mass+6*smiData.Solid(20).mass+smiData.Solid(19).mass; -rz.k.ax = 2e9; %x -rz.k.rad = 7e8; %z -rz.k.rrad = 7e8; %y -rz.k.tilt = 1e5; -rz.k.rot = 1e5; -rz.ksi.ax = 10; -rz.ksi.rad = 10; -rz.ksi.rrad = 10; -rz.ksi.tilt = 1; -rz.ksi.rot = 1; -rz = updateDamping(rz); - -%% Hexapod Symétrie -hexapod = struct(); -hexapod.m = smiData.Solid(16).mass; -hexapod.k.ax = (138e6/6)*1.2; %z -hexapod.ksi.ax = 10; -hexapod = updateDamping(hexapod); - -%% Axis Corrector -axisc = struct(); -axisc.m = smiData.Solid(30).mass; -axisc.k.ax = 1; % (N*m/deg)) -axisc.ksi.ax = 1; -axisc = updateDamping(axisc); - -%% NASS -nass = struct(); -nass.m = smiData.Solid(27).mass; -nass.k.ax = 5e7; %z -nass.ksi.ax = 10; -nass = updateDamping(nass); - -%% Wobble -wob = struct(); -wob.m = smiData.Solid(5).mass; -wob.k.ax = 1e10; -wob.ksi.ax = 10; -wob = updateDamping(wob); +%% Sphere +SP = struct(); +SP.thickness.bottom = 1 ; %mm +SP.thickness.top = 1 ; %mm +SP.rad.bottom = Leg.rad.bottom ; %mm +SP.rad.top = Leg.rad.ttop ; %mm +SP.height.bottom = 5 ; %mm +SP.height.top = 5 ; %mm +SP.density.bottom = 1000 ; %kg/m^3 +SP.density.top = 1000 ; %kg/m^3 +SP.m = SP.density*2*pi*((SP.rad.bottom)^2)*(SP.height.bottom); %kg +SP.color.bottom = [0.5 0.5 0.5] ; %rgb +SP.color.top = [0.5 0.5 0.5] ; %rgb +SP.k.ax = 5e7 ; % N*m/deg +SP.ksi.ax = 10 ; +SP = updateDamping(SP); %% function element = updateDamping(element) diff --git a/Formule_Nass.m b/Formule_Nass.m index 416079a..1269c48 100644 --- a/Formule_Nass.m +++ b/Formule_Nass.m @@ -64,26 +64,4 @@ for i = 1:6, upper_leg(i).origin = pos_base(i,:) + (1-3/8)*legs(i,:); upper_leg(i).end_point = pos_base(i,:) + (1/4)*legs(i,:); upper_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)']; -end - -% Inertia and mass calculation -top_thickness = 0.05; -base_thickness = 0.05; -inner_radius = 0.03; -outer_radius = 0.05; -density = 76e3/9.81; % steel density in Kg/m^3 - -%leg inertia and mass -[lower_leg_mass, lower_leg_inertia] = inertiaCylinder(density, ... - 0.75*leg_length(1),outer_radius, inner_radius); -[upper_leg_mass, upper_leg_inertia] = inertiaCylinder(density, ... - 0.75*leg_length(1),inner_radius, 0); - -% top and base plate mass and inertia -[top_mass, top_inertia] = inertiaCylinder(density, ... - top_thickness, radius_t, 0); -[base_mass, base_inertia] = inertiaCylinder(density, ... - base_thickness,radius_b, 0); - -% PID controller gains -Kp = 2e6; Ki = 1e4; Kd = 4.5e4; +end \ No newline at end of file