function [ry] = initializeRy(args) arguments args.type char {mustBeMember(args.type,{'none', 'rigid', 'flexible'})} = 'flexible' args.x11 (1,1) double {mustBeNumeric} = 0 % [m] args.y11 (1,1) double {mustBeNumeric} = 0 % [m] args.z11 (1,1) double {mustBeNumeric} = 0 % [m] args.x12 (1,1) double {mustBeNumeric} = 0 % [m] args.y12 (1,1) double {mustBeNumeric} = 0 % [m] args.z12 (1,1) double {mustBeNumeric} = 0 % [m] args.x21 (1,1) double {mustBeNumeric} = 0 % [m] args.y21 (1,1) double {mustBeNumeric} = 0 % [m] args.z21 (1,1) double {mustBeNumeric} = 0 % [m] args.x22 (1,1) double {mustBeNumeric} = 0 % [m] args.y22 (1,1) double {mustBeNumeric} = 0 % [m] args.z22 (1,1) double {mustBeNumeric} = 0 % [m] end ry = struct(); switch args.type case 'none' ry.type = 0; case 'rigid' ry.type = 1; case 'flexible' ry.type = 2; end % Ry - Guide for the tilt stage ry.guide.density = 7800; % [kg/m3] ry.guide.STEP = './STEPS/ry/Tilt_Guide.STEP'; % Ry - Rotor of the motor ry.rotor.density = 2400; % [kg/m3] ry.rotor.STEP = './STEPS/ry/Tilt_Motor_Axis.STEP'; % Ry - Motor ry.motor.density = 3200; % [kg/m3] ry.motor.STEP = './STEPS/ry/Tilt_Motor.STEP'; % Ry - Plateau Tilt ry.stage.density = 7800; % [kg/m3] ry.stage.STEP = './STEPS/ry/Tilt_Stage.STEP'; 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] ry.c.tilt = 2.8e2; ry.c.h = 2.8e4; ry.c.rad = 2.8e4; ry.c.rrad = 2.8e4; ry.x0_11 = args.x11; ry.y0_11 = args.y11; ry.z0_11 = args.z11; ry.x0_12 = args.x12; ry.y0_12 = args.y12; ry.z0_12 = args.z12; ry.x0_21 = args.x21; ry.y0_21 = args.y21; ry.z0_21 = args.z21; ry.x0_22 = args.x22; ry.y0_22 = args.y22; ry.z0_22 = args.z22; ry.z_offset = 0.58178; % [m] save('./mat/stages.mat', 'ry', '-append');