92 lines
3.8 KiB
Matlab
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
|