Add functions to add platforms at .STEP files
This commit is contained in:
48
src/initializeFlexibleStrutAndJointDynamics.m
Normal file
48
src/initializeFlexibleStrutAndJointDynamics.m
Normal file
@@ -0,0 +1,48 @@
|
||||
function [stewart] = initializeFlexibleStrutAndJointDynamics(stewart, args)
|
||||
% initializeFlexibleStrutAndJointDynamics - Add Stiffness and Damping properties of each strut
|
||||
%
|
||||
% Syntax: [stewart] = initializeFlexibleStrutAndJointDynamics(args)
|
||||
%
|
||||
% Inputs:
|
||||
% - args - Structure with the following fields:
|
||||
% - K [nxn] - Vertical stiffness contribution of the piezoelectric stack [N/m]
|
||||
% - M [nxn] - Vertical damping contribution of the piezoelectric stack [N/(m/s)]
|
||||
% - xi [1x1] - Vertical (residual) stiffness when the piezoelectric stack is removed [N/m]
|
||||
% - step_file [6x1] - Vertical (residual) damping when the piezoelectric stack is removed [N/(m/s)]
|
||||
% - Gf [6x1] - Gain from strain in [m] to measured [N] such that it matches
|
||||
%
|
||||
% Outputs:
|
||||
% - stewart - updated Stewart structure with the added fields:
|
||||
|
||||
arguments
|
||||
stewart
|
||||
args.K double {mustBeNumeric} = zeros(6,6)
|
||||
args.M double {mustBeNumeric} = zeros(6,6)
|
||||
args.H double {mustBeNumeric} = 0
|
||||
args.n_xyz double {mustBeNumeric} = zeros(2,3)
|
||||
args.xi double {mustBeNumeric} = 0.1
|
||||
args.Gf double {mustBeNumeric} = 1
|
||||
args.step_file char {} = ''
|
||||
end
|
||||
|
||||
stewart.actuators.ax_off = (stewart.geometry.l(1) - args.H)/2; % Axial Offset at the ends of the actuator
|
||||
|
||||
stewart.joints_F.type = 10;
|
||||
stewart.joints_M.type = 10;
|
||||
|
||||
stewart.struts_F.type = 3;
|
||||
stewart.struts_M.type = 3;
|
||||
|
||||
stewart.actuators.type = 4;
|
||||
|
||||
stewart.actuators.Km = args.K;
|
||||
stewart.actuators.Mm = args.M;
|
||||
|
||||
stewart.actuators.n_xyz = args.n_xyz;
|
||||
stewart.actuators.xi = args.xi;
|
||||
|
||||
stewart.actuators.step_file = args.step_file;
|
||||
|
||||
stewart.actuators.K = args.K(3,3); % Axial Stiffness
|
||||
|
||||
stewart.actuators.Gf = args.Gf;
|
30
src/initializeSolidPlatforms.m
Normal file
30
src/initializeSolidPlatforms.m
Normal file
@@ -0,0 +1,30 @@
|
||||
function [stewart] = initializeSolidPlatforms(stewart, args)
|
||||
% initializeSolidPlatforms - Initialize the geometry of the Fixed and Mobile Platforms
|
||||
%
|
||||
% Syntax: [stewart] = initializeSolidPlatforms(args)
|
||||
%
|
||||
% Inputs:
|
||||
% - args - Structure with the following fields:
|
||||
% - density [1x1] - Density of the platforms [kg]
|
||||
%
|
||||
% Outputs:
|
||||
% - stewart - updated Stewart structure with the added fields:
|
||||
% - platform_F [struct] - structure with the following fields:
|
||||
% - type = 2
|
||||
% - M [1x1] - Fixed Platform Density [kg/m^3]
|
||||
% - platform_M [struct] - structure with the following fields:
|
||||
% - type = 2
|
||||
% - M [1x1] - Mobile Platform Density [kg/m^3]
|
||||
|
||||
arguments
|
||||
stewart
|
||||
args.density (1,1) double {mustBeNumeric, mustBePositive} = 7800
|
||||
end
|
||||
|
||||
stewart.platform_F.type = 2;
|
||||
|
||||
stewart.platform_F.density = args.density;
|
||||
|
||||
stewart.platform_M.type = 2;
|
||||
|
||||
stewart.platform_M.density = args.density;
|
Reference in New Issue
Block a user