Study: estimation of the required joint stroke
This commit is contained in:
		@@ -40,4 +40,4 @@ stewart.actuators.Kr = args.Kr;
 | 
			
		||||
stewart.actuators.Cr = args.Cr;
 | 
			
		||||
 | 
			
		||||
stewart.actuators.K = K;
 | 
			
		||||
stewart.actuators.C = K;
 | 
			
		||||
stewart.actuators.C = C;
 | 
			
		||||
 
 | 
			
		||||
@@ -27,6 +27,8 @@ function [stewart] = initializeCylindricalStruts(stewart, args)
 | 
			
		||||
 | 
			
		||||
arguments
 | 
			
		||||
    stewart
 | 
			
		||||
    args.type_F    char   {mustBeMember(args.type_F,{'cylindrical', 'none'})} = 'cylindrical'
 | 
			
		||||
    args.type_M    char   {mustBeMember(args.type_M,{'cylindrical', 'none'})} = 'cylindrical'
 | 
			
		||||
    args.Fsm (1,1) double {mustBeNumeric, mustBePositive} = 0.1
 | 
			
		||||
    args.Fsh (1,1) double {mustBeNumeric, mustBePositive} = 50e-3
 | 
			
		||||
    args.Fsr (1,1) double {mustBeNumeric, mustBePositive} = 5e-3
 | 
			
		||||
@@ -56,14 +58,24 @@ for i = 1:6
 | 
			
		||||
                     1/2  * Msm(i) * Msr(i)^2]);
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
stewart.struts_M.type = 1;
 | 
			
		||||
switch args.type_M
 | 
			
		||||
  case 'cylindrical'
 | 
			
		||||
    stewart.struts_M.type = 1;
 | 
			
		||||
  case 'none'
 | 
			
		||||
    stewart.struts_M.type = 2;
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
stewart.struts_M.I = I_M;
 | 
			
		||||
stewart.struts_M.M = Msm;
 | 
			
		||||
stewart.struts_M.R = Msr;
 | 
			
		||||
stewart.struts_M.H = Msh;
 | 
			
		||||
 | 
			
		||||
stewart.struts_F.type = 1;
 | 
			
		||||
switch args.type_F
 | 
			
		||||
  case 'cylindrical'
 | 
			
		||||
    stewart.struts_F.type = 1;
 | 
			
		||||
  case 'none'
 | 
			
		||||
    stewart.struts_F.type = 2;
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
stewart.struts_F.I = I_F;
 | 
			
		||||
stewart.struts_F.M = Fsm;
 | 
			
		||||
 
 | 
			
		||||
@@ -29,8 +29,8 @@ function [stewart] = initializeJointDynamics(stewart, args)
 | 
			
		||||
 | 
			
		||||
arguments
 | 
			
		||||
    stewart
 | 
			
		||||
    args.type_F     char   {mustBeMember(args.type_F,{'universal', 'spherical', 'universal_p', 'spherical_p'})} = 'universal'
 | 
			
		||||
    args.type_M     char   {mustBeMember(args.type_M,{'universal', 'spherical', 'universal_p', 'spherical_p'})} = 'spherical'
 | 
			
		||||
    args.type_F     char   {mustBeMember(args.type_F,{'universal', 'spherical', 'universal_p', 'spherical_p', 'flexible'})} = 'universal'
 | 
			
		||||
    args.type_M     char   {mustBeMember(args.type_M,{'universal', 'spherical', 'universal_p', 'spherical_p', 'flexible'})} = 'spherical'
 | 
			
		||||
    args.Kf_M (6,1) double {mustBeNumeric, mustBeNonnegative} = 15*ones(6,1)
 | 
			
		||||
    args.Cf_M (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-4*ones(6,1)
 | 
			
		||||
    args.Kt_M (6,1) double {mustBeNumeric, mustBeNonnegative} = 20*ones(6,1)
 | 
			
		||||
@@ -39,6 +39,16 @@ arguments
 | 
			
		||||
    args.Cf_F (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-4*ones(6,1)
 | 
			
		||||
    args.Kt_F (6,1) double {mustBeNumeric, mustBeNonnegative} = 20*ones(6,1)
 | 
			
		||||
    args.Ct_F (6,1) double {mustBeNumeric, mustBeNonnegative} = 1e-3*ones(6,1)
 | 
			
		||||
    args.K_M        double {mustBeNumeric} = zeros(6,6)
 | 
			
		||||
    args.M_M        double {mustBeNumeric} = zeros(6,6)
 | 
			
		||||
    args.n_xyz_M    double {mustBeNumeric} = zeros(2,3)
 | 
			
		||||
    args.xi_M       double {mustBeNumeric} = 0.1
 | 
			
		||||
    args.step_file_M char {} = ''
 | 
			
		||||
    args.K_F        double {mustBeNumeric} = zeros(6,6)
 | 
			
		||||
    args.M_F        double {mustBeNumeric} = zeros(6,6)
 | 
			
		||||
    args.n_xyz_F    double {mustBeNumeric} = zeros(2,3)
 | 
			
		||||
    args.xi_F       double {mustBeNumeric} = 0.1
 | 
			
		||||
    args.step_file_F char {} = ''
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
switch args.type_F
 | 
			
		||||
@@ -50,6 +60,8 @@ switch args.type_F
 | 
			
		||||
    stewart.joints_F.type = 3;
 | 
			
		||||
  case 'spherical_p'
 | 
			
		||||
    stewart.joints_F.type = 4;
 | 
			
		||||
  case 'flexible'
 | 
			
		||||
    stewart.joints_F.type = 5;
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
switch args.type_M
 | 
			
		||||
@@ -61,6 +73,8 @@ switch args.type_M
 | 
			
		||||
    stewart.joints_M.type = 3;
 | 
			
		||||
  case 'spherical_p'
 | 
			
		||||
    stewart.joints_M.type = 4;
 | 
			
		||||
  case 'flexible'
 | 
			
		||||
    stewart.joints_M.type = 5;
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
stewart.joints_M.Kx = zeros(6,1);
 | 
			
		||||
@@ -90,3 +104,16 @@ stewart.joints_M.Ct = args.Cf_M;
 | 
			
		||||
 | 
			
		||||
stewart.joints_F.Cf = args.Cf_F;
 | 
			
		||||
stewart.joints_F.Ct = args.Cf_F;
 | 
			
		||||
 | 
			
		||||
stewart.joints_F.M = args.M_F;
 | 
			
		||||
stewart.joints_F.K = args.K_F;
 | 
			
		||||
stewart.joints_F.n_xyz = args.n_xyz_F;
 | 
			
		||||
stewart.joints_F.xi = args.xi_F;
 | 
			
		||||
stewart.joints_F.xi = args.xi_F;
 | 
			
		||||
stewart.joints_F.step_file = args.step_file_F;
 | 
			
		||||
 | 
			
		||||
stewart.joints_M.M = args.M_M;
 | 
			
		||||
stewart.joints_M.K = args.K_M;
 | 
			
		||||
stewart.joints_M.n_xyz = args.n_xyz_M;
 | 
			
		||||
stewart.joints_M.xi = args.xi_M;
 | 
			
		||||
stewart.joints_M.step_file = args.step_file_M;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user