diff --git a/controls/MATLAB/momentOfInertia/J_calc_bifilar.m b/controls/MATLAB/momentOfInertia/J_calc_bifilar.m new file mode 100644 index 0000000000000000000000000000000000000000..9f52a69ec50752c0c2b2b644f1a5b373ccc74bcb --- /dev/null +++ b/controls/MATLAB/momentOfInertia/J_calc_bifilar.m @@ -0,0 +1,36 @@ +function J = J_calc_bifilar( m , g, D, L, t, n , varargin) +%UNTITLED Summary of this function goes here +% Detailed explanation goes here + +average_strings = {'average','mean','ave'}; +least_squares_strings = {'least squares','ls'}; + +mode = 0; +if ~isempty(varargin) + for k = 1:length(varargin) + if any(strcmpi(varargin{k},average_strings)) + mode = 0; + end + if any(strcmpi(varargin{k},least_squares_strings)) + mode = 1; + end + end +end + +if mode == 0 %averge + N = length(t); + Js = zeros(1,N); + for k = 1:N + Js(k) = m(k)*g*D(k)^2/(16*pi^2*L(k))*(t(k)/n(k))^2; + end + J = mean(Js); +end + +if mode == 1 %least squares + J = (16*pi^2*L./(m*g.*D.^2))\(t./n).^2 ; +end + + + +end + diff --git a/controls/MATLAB/momentOfInertia/J_calc_bifilar_script.m b/controls/MATLAB/momentOfInertia/J_calc_bifilar_script.m new file mode 100644 index 0000000000000000000000000000000000000000..5eb3ce5744009130baa1ca91115140fd5bb20889 --- /dev/null +++ b/controls/MATLAB/momentOfInertia/J_calc_bifilar_script.m @@ -0,0 +1,39 @@ + +% inches2meters = 0.0254 ; + +%% +% %Jxx +% m = 1.244*ones(5,1); +% D = (12+3/8)*inches2meters*ones(5,1); +% L = (81+3/4)*inches2meters*ones(5,1); +% t = [ 94.58 ; 93.91 ; 93.81 ; 94.16 ; 94.04 ] ; +% n = 50*ones(5,1); + +% %Jyy +% m = 1.244*ones(5,1); +% D = (12+3/8)*inches2meters*ones(5,1); +% L = (91+3/4)*inches2meters*ones(5,1); +% t = [ 103.31 ; 103.15 ; 103.31 ; 103.47 ; 103.13 ] ; +% n = 50*ones(5,1); + + +% %Jzz +% m = 1.244*ones(5,1); +% D = (19+3/16)*inches2meters*ones(5,1); +% L = (96+1/4)*inches2meters*ones(5,1); +% t = [ 96.64 ; 97.47 ; 97.75 ; 97.35 ; 97.78 ] ; +% n = 50*ones(5,1); + +load .\git_repos\microCART_17-18\controls\dataCollection\bifilar_inertia_2_18_2017\MicroCART_bifilar_Jxx_2_18_2017 ; +Jxx_a = J_calc_bifilar( m , g, D, L, t, n , 'average') +Jxx_ls = J_calc_bifilar( m , g, D, L, t, n , 'least squares') + +clear D L m n t +load .\git_repos\microCART_17-18\controls\dataCollection\bifilar_inertia_2_18_2017\MicroCART_bifilar_Jyy_2_18_2017 ; +Jyy_a = J_calc_bifilar( m , g, D, L, t, n , 'average') +Jyy_ls = J_calc_bifilar( m , g, D, L, t, n , 'least squares') + +clear D L m n t +load .\git_repos\microCART_17-18\controls\dataCollection\bifilar_inertia_2_18_2017\MicroCART_bifilar_Jzz_2_18_2017 ; +Jzz_a = J_calc_bifilar( m , g, D, L, t, n , 'average') +Jzz_ls = J_calc_bifilar( m , g, D, L, t, n , 'least squares') diff --git a/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jxx_2_18_2017.mat b/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jxx_2_18_2017.mat new file mode 100644 index 0000000000000000000000000000000000000000..48cb1e16636289e804e0c1200d9edd36a70fa57e Binary files /dev/null and b/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jxx_2_18_2017.mat differ diff --git a/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jyy_2_18_2017.mat b/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jyy_2_18_2017.mat new file mode 100644 index 0000000000000000000000000000000000000000..2842eacc1c1fa3724f45532d9bb9e76dc645e831 Binary files /dev/null and b/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jyy_2_18_2017.mat differ diff --git a/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jzz_2_18_2017.mat b/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jzz_2_18_2017.mat new file mode 100644 index 0000000000000000000000000000000000000000..0d71dc977e35ad7dd86cb73038c729e6f97e11f2 Binary files /dev/null and b/controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jzz_2_18_2017.mat differ diff --git a/controls/dataCollection/bifilar_inertia_2_18_2017/info.txt b/controls/dataCollection/bifilar_inertia_2_18_2017/info.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391