phd-nass-instrumentation/matlab/src/initializeSimplifiedNanoHexapod.m
Thomas Dehaeze 880e6810ca Determine maximum noise of instrumentation
Include NASS multi-body model for this analysis
2025-02-27 17:11:08 +01:00

92 lines
3.8 KiB
Matlab

function [nano_hexapod] = initializeSimplifiedNanoHexapod(args)
arguments
args.type char {mustBeMember(args.type,{'none', 'stewart'})} = 'stewart'
end
stewart = initializeStewartPlatform();
switch args.type
case 'none'
stewart.type = 0;
case 'stewart'
stewart.type = 1;
end
stewart = initializeFramesPositions(stewart, ...
'H', 95e-3, ...
'MO_B', 150e-3);
stewart = generateGeneralConfiguration(stewart, ...
'FH', 15e-3, ...
'FR', 120e-3, ...
'FTh', [220, 320, 340, 80, 100, 200]*(pi/180), ...
'MH', 15e-3, ...
'MR', 110e-3, ...
'MTh', [255, 285, 15, 45, 135, 165]*(pi/180));
stewart = computeJointsPose(stewart);
stewart = initializeStrutDynamics(stewart, ...
'type', 'apa300ml', ...
'k', 0.3e6, ...
'ke', 4.3e6, ...
'ka', 2.15e6, ...
'c', 18, ...
'ce', 0.7, ...
'ca', 0.35, ...
'ga', -2.7, ...
'gs', 0.53e6);
stewart = initializeJointDynamics(stewart, ...
'type_M', '4dof', ...
'type_F', '2dof_axial', ...
'Kf_M', 4.83, ...
'Cf_M', 1e-2, ...
'Kt_M', 260, ...
'Ct_M', 1e-2, ...
'Ka_M', 94e6, ...
'Ca_M', 1e-2, ...
'Kf_F', 4.83, ...
'Cf_F', 1e-2, ...
'Ka_F', 94e6, ...
'Ca_F', 1e-2);
stewart = initializeCylindricalPlatforms(stewart, ...
'Fpm', 5, ...
'Fph', 10e-3, ...
'Fpr', 150e-3, ...
'Mpm', 5, ...
'Mph', 10e-3, ...
'Mpr', 150e-3);
stewart = initializeCylindricalStruts(stewart, ...
'Fsm', 1e-3, ...
'Fsh', 60e-3, ...
'Fsr', 5e-3, ...
'Msm', 1e-3, ...
'Msh', 60e-3, ...
'Msr', 5e-3);
stewart = computeJacobian(stewart);
stewart = initializeStewartPose(stewart, ...
'AP', zeros(3,1), ...
'ARB', eye(3));
nano_hexapod = stewart;
if exist('./mat', 'dir')
if exist('./mat/nass_model_stages.mat', 'file')
save('mat/nass_model_stages.mat', 'nano_hexapod', '-append');
else
save('mat/nass_model_stages.mat', 'nano_hexapod');
end
elseif exist('./matlab', 'dir')
if exist('./matlab/mat/nass_model_stages.mat', 'file')
save('matlab/mat/nass_model_stages.mat', 'nano_hexapod', '-append');
else
save('matlab/mat/nass_model_stages.mat', 'nano_hexapod');
end
end
end