From d984884e259fe17ffa889049e7e465a18e28933c Mon Sep 17 00:00:00 2001 From: Rich <m87rich@iastate.edu> Date: Sat, 18 Feb 2017 20:27:22 -0600 Subject: [PATCH] Data and analysis script for Moment of Inertia using bifilar pendulum method. --- .../MATLAB/momentOfInertia/J_calc_bifilar.m | 36 ++++++++++++++++ .../momentOfInertia/J_calc_bifilar_script.m | 39 ++++++++++++++++++ .../MicroCART_bifilar_Jxx_2_18_2017.mat | Bin 0 -> 499 bytes .../MicroCART_bifilar_Jyy_2_18_2017.mat | Bin 0 -> 422 bytes .../MicroCART_bifilar_Jzz_2_18_2017.mat | Bin 0 -> 423 bytes .../bifilar_inertia_2_18_2017/info.txt | 0 6 files changed, 75 insertions(+) create mode 100644 controls/MATLAB/momentOfInertia/J_calc_bifilar.m create mode 100644 controls/MATLAB/momentOfInertia/J_calc_bifilar_script.m create mode 100644 controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jxx_2_18_2017.mat create mode 100644 controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jyy_2_18_2017.mat create mode 100644 controls/dataCollection/bifilar_inertia_2_18_2017/MicroCART_bifilar_Jzz_2_18_2017.mat create mode 100644 controls/dataCollection/bifilar_inertia_2_18_2017/info.txt diff --git a/controls/MATLAB/momentOfInertia/J_calc_bifilar.m b/controls/MATLAB/momentOfInertia/J_calc_bifilar.m new file mode 100644 index 000000000..9f52a69ec --- /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 000000000..5eb3ce574 --- /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 GIT binary patch literal 499 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w+L}(NS<NN=+<DO;O0t zvr-67EKzVvO;RwlP%yN#GO(~RHd8P%Ff>;n5-`93qo*%FknIe_6>}aZCnRt%B$+8Z zV@MKX<49=zB-t3j<zsBD@=Vm2!{O(-FvEpMSGpcG+$r|Vb>>M)L%p9Tm+o9ysd`l4 zFN2B{_XCho25_S~z(zG(QaHf%v^m4gAT8wt>!mpkYZ#C82G8AHJg<J6x(hP{f0wv5 zA$<jm5PfD=;c2#$_a^ywurXYHDzcD}z7J4+>1+S$`OP`}zyYZ5(0ieeAbp;A+^GT8 zw{|^q`3YU#@&~*2?KrSa>rSF)qwe*uNgDgL?>zhv-aF&pvI2I7eKUpjfDBZJ8@K_} U<II<Q0t}S}7%nlWO=7$c05H0$ivR!s literal 0 HcmV?d00001 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 GIT binary patch literal 422 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w+L}(NS<NN=+<DO;O0t zvr-67EKzVvO;RwlP%yN#GBmU@F;y@!Ff>;n5-`93qo*%FkZl0O6>}aZCnR(*B$+8Z zYq+Fvfa_^<hMPfJ$_ds>a~#$%9_bC9ySsQ^{Wf(MW(NK)ace^Q3K${!%&fxGY$xwc z^6y|{xcXFNAt8Mqp!&ME&G>JzrR8L!051cRoaj4{K6gCs)PU;q=E~W*F21j1hN&=z zpPSWzAFuDohjrfRF1ew2{g>4TmnF;$k3~e5fQ(az8@B<|+sv1I0t}S}7%nlWO=7$c E0BKQ)%K!iX literal 0 HcmV?d00001 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 GIT binary patch literal 423 zcmeZu4DoSvQZUssQ1EpO(M`+DN!3vZ$Vn_o%P-2cQV4Jk_w+L}(NS<NN=+<DO;O0t zvr-67EKzVvO;RwlP%tvEGBCC>HUu&Z%@v3Q3^2gx>B|pf8vt>|oX5!t2^|bcW(v<5 zE-4(~dfJ@fW{{S0g7wlIhc%2xdV}ZgE}mDvP2Gi=fxk=KnvlK%Mu<N5|GBIFr4-zs zC&0^)aZ2hdNS{6)`#wPR`P_P&Wd3`GEXPF#hdACqkTy>|+BBfrW*Po%-<RcLv8K2_ zLRCooA;Yy0frk^=m=Xo~9Ic;3#f!UHFfi1v;$IIkP#tdI226i5U-AhsR2E>k#Gp2b G@jd_;h=+Or literal 0 HcmV?d00001 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 000000000..e69de29bb -- GitLab