Add many figures and discussions
Tuned the misalignment of the APA/flexible joints to fit the measured FRF
This commit is contained in:
BIN
matlab/mat/meas_apa_frf.mat
Normal file
BIN
matlab/mat/meas_apa_frf.mat
Normal file
Binary file not shown.
BIN
matlab/mat/meas_struts_frf.mat
Normal file
BIN
matlab/mat/meas_struts_frf.mat
Normal file
Binary file not shown.
@@ -12,6 +12,7 @@ function [actuator] = initializeAPA(args)
|
||||
arguments
|
||||
args.type char {mustBeMember(args.type,{'2dof', 'flexible frame', 'flexible'})} = '2dof'
|
||||
|
||||
% Actuator and Sensor constants
|
||||
args.Ga (1,1) double {mustBeNumeric} = 0
|
||||
args.Gs (1,1) double {mustBeNumeric} = 0
|
||||
|
||||
@@ -27,7 +28,8 @@ arguments
|
||||
args.Leq (6,1) double {mustBeNumeric} = ones(6,1)*0.056
|
||||
|
||||
% Force Flexible APA
|
||||
args.xi (1,1) double {mustBeNumeric, mustBePositive} = 0.5
|
||||
args.xi (1,1) double {mustBeNumeric, mustBePositive} = 0.01
|
||||
args.d_align (3,1) double {mustBeNumeric} = zeros(3,1) % [m]
|
||||
|
||||
% For Flexible Frame
|
||||
args.ks (1,1) double {mustBeNumeric, mustBePositive} = 235e6
|
||||
@@ -90,6 +92,7 @@ switch args.type
|
||||
actuator.K = readmatrix('full_APA300ML_K.CSV'); % Stiffness Matrix
|
||||
actuator.M = readmatrix('full_APA300ML_M.CSV'); % Mass Matrix
|
||||
actuator.P = extractNodes('full_APA300ML_out_nodes_3D.txt'); % Node coordiantes [m]
|
||||
actuator.d_align = args.d_align;
|
||||
end
|
||||
|
||||
actuator.xi = args.xi; % Damping ratio
|
||||
|
@@ -15,12 +15,12 @@ arguments
|
||||
args.kRx (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*5
|
||||
args.kRy (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*5
|
||||
args.kRz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*260
|
||||
args.kz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*1e8
|
||||
args.kz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*7e7
|
||||
|
||||
args.cRx (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.1
|
||||
args.cRy (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.1
|
||||
args.cRz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.1
|
||||
args.cz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*1e2
|
||||
args.cRx (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.001
|
||||
args.cRy (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.001
|
||||
args.cRz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.001
|
||||
args.cz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.001
|
||||
end
|
||||
|
||||
flex_bot = struct();
|
||||
|
@@ -15,12 +15,12 @@ arguments
|
||||
args.kRx (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*5
|
||||
args.kRy (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*5
|
||||
args.kRz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*260
|
||||
args.kz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*1e8
|
||||
args.kz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*7e7
|
||||
|
||||
args.cRx (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.1
|
||||
args.cRy (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.1
|
||||
args.cRz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.1
|
||||
args.cz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*1e2
|
||||
args.cRx (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.001
|
||||
args.cRy (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.001
|
||||
args.cRz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.001
|
||||
args.cz (6,1) double {mustBeNumeric, mustBePositive} = ones(6,1)*0.001
|
||||
end
|
||||
|
||||
flex_top = struct();
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user