From bf7656daad208fe84d48c7da24ac8bf1061836ae Mon Sep 17 00:00:00 2001 From: Tara Mina <Tara Mina> Date: Fri, 28 Oct 2016 21:53:12 -0500 Subject: [PATCH] Added controls directory --- .../momentOfInertia/getAverageMomentOfInertia.m | 0 .../momentOfInertia/getMomentOfInertia.m | 0 .../getMomentOfInertiaFinalData.m | 0 .../thrustAndDragConstant/calcDragConstant.m | 2 +- .../thrustAndDragConstant/calcThrustConstant.m | 2 +- .../thrustDragConstantCalculations.m | 0 .../MATLAB}/zeroLoadCurrent/Kd_error.m | 0 .../MATLAB/zeroLoadCurrent/zeroLoadCurrent.m | 2 +- .../Moment of Inertia 10-25-16.xlsx | Bin 0 -> 3812 bytes .../No Load Friction Current.xlsx | Bin 0 -> 14208 bytes .../Thrust and Drag Constant Data.xlsx | Bin 0 -> 22672 bytes {Model => controls/model}/Quadcopter_Model.slx | Bin .../ModelingParameters.docx | Bin 0 -> 6748 bytes 13 files changed, 3 insertions(+), 3 deletions(-) rename {MATLAB => controls/MATLAB}/momentOfInertia/getAverageMomentOfInertia.m (100%) rename {MATLAB => controls/MATLAB}/momentOfInertia/getMomentOfInertia.m (100%) rename {MATLAB => controls/MATLAB}/momentOfInertia/getMomentOfInertiaFinalData.m (100%) rename MATLAB/thrustAndDragConstant/calc_drag_constant.m => controls/MATLAB/thrustAndDragConstant/calcDragConstant.m (96%) rename MATLAB/thrustAndDragConstant/calc_thrust_constant.m => controls/MATLAB/thrustAndDragConstant/calcThrustConstant.m (95%) rename MATLAB/thrustAndDragConstant/thrust_drag_constant_calculations.m => controls/MATLAB/thrustAndDragConstant/thrustDragConstantCalculations.m (100%) rename {MATLAB => controls/MATLAB}/zeroLoadCurrent/Kd_error.m (100%) rename MATLAB/zeroLoadCurrent/zero_load_current.m => controls/MATLAB/zeroLoadCurrent/zeroLoadCurrent.m (96%) create mode 100644 controls/dataCollection/Moment of Inertia 10-25-16.xlsx create mode 100644 controls/dataCollection/No Load Friction Current.xlsx create mode 100644 controls/dataCollection/Thrust and Drag Constant Data.xlsx rename {Model => controls/model}/Quadcopter_Model.slx (100%) create mode 100644 controls/parameterIdentification/ModelingParameters.docx diff --git a/MATLAB/momentOfInertia/getAverageMomentOfInertia.m b/controls/MATLAB/momentOfInertia/getAverageMomentOfInertia.m similarity index 100% rename from MATLAB/momentOfInertia/getAverageMomentOfInertia.m rename to controls/MATLAB/momentOfInertia/getAverageMomentOfInertia.m diff --git a/MATLAB/momentOfInertia/getMomentOfInertia.m b/controls/MATLAB/momentOfInertia/getMomentOfInertia.m similarity index 100% rename from MATLAB/momentOfInertia/getMomentOfInertia.m rename to controls/MATLAB/momentOfInertia/getMomentOfInertia.m diff --git a/MATLAB/momentOfInertia/getMomentOfInertiaFinalData.m b/controls/MATLAB/momentOfInertia/getMomentOfInertiaFinalData.m similarity index 100% rename from MATLAB/momentOfInertia/getMomentOfInertiaFinalData.m rename to controls/MATLAB/momentOfInertia/getMomentOfInertiaFinalData.m diff --git a/MATLAB/thrustAndDragConstant/calc_drag_constant.m b/controls/MATLAB/thrustAndDragConstant/calcDragConstant.m similarity index 96% rename from MATLAB/thrustAndDragConstant/calc_drag_constant.m rename to controls/MATLAB/thrustAndDragConstant/calcDragConstant.m index 53a7cc6b4..1a888d4f6 100644 --- a/MATLAB/thrustAndDragConstant/calc_drag_constant.m +++ b/controls/MATLAB/thrustAndDragConstant/calcDragConstant.m @@ -1,4 +1,4 @@ -function [ Kd ] = calc_drag_constant( data, Pmin, Pmax, Rm, Kv, Kq, If ) +function [ Kd ] = calcDragConstant( data, Pmin, Pmax, Rm, Kv, Kq, If ) %CALC_DRAG_CONSTANT % Calculates the drag constant (Kd) given experimental data. The drag % constant is described in detail in sections 4.2.5, 4.2.6, and 5.5.4.1 diff --git a/MATLAB/thrustAndDragConstant/calc_thrust_constant.m b/controls/MATLAB/thrustAndDragConstant/calcThrustConstant.m similarity index 95% rename from MATLAB/thrustAndDragConstant/calc_thrust_constant.m rename to controls/MATLAB/thrustAndDragConstant/calcThrustConstant.m index 202b41eaa..c69b9fe88 100644 --- a/MATLAB/thrustAndDragConstant/calc_thrust_constant.m +++ b/controls/MATLAB/thrustAndDragConstant/calcThrustConstant.m @@ -1,4 +1,4 @@ -function [ Kt ] = calc_thrust_constant( data ) +function [ Kt ] = calcThrustConstant( data ) %CALC_THRUST_CONSTANT % Calculates the thrust constant (Kt) given experimental data. The thrust % constant is described in detail in sections 4.2.1.1 and 5.5.1 of diff --git a/MATLAB/thrustAndDragConstant/thrust_drag_constant_calculations.m b/controls/MATLAB/thrustAndDragConstant/thrustDragConstantCalculations.m similarity index 100% rename from MATLAB/thrustAndDragConstant/thrust_drag_constant_calculations.m rename to controls/MATLAB/thrustAndDragConstant/thrustDragConstantCalculations.m diff --git a/MATLAB/zeroLoadCurrent/Kd_error.m b/controls/MATLAB/zeroLoadCurrent/Kd_error.m similarity index 100% rename from MATLAB/zeroLoadCurrent/Kd_error.m rename to controls/MATLAB/zeroLoadCurrent/Kd_error.m diff --git a/MATLAB/zeroLoadCurrent/zero_load_current.m b/controls/MATLAB/zeroLoadCurrent/zeroLoadCurrent.m similarity index 96% rename from MATLAB/zeroLoadCurrent/zero_load_current.m rename to controls/MATLAB/zeroLoadCurrent/zeroLoadCurrent.m index a9ec2e607..330f295c5 100644 --- a/MATLAB/zeroLoadCurrent/zero_load_current.m +++ b/controls/MATLAB/zeroLoadCurrent/zeroLoadCurrent.m @@ -1,4 +1,4 @@ -function [I_0, I_1, I_2, dutyCycle, error, residual_error, residual_error_withIfConstant] = zero_load_current(absoluteFilePath) +function [I_0, I_1, I_2, dutyCycle, error, residual_error, residual_error_withIfConstant] = zeroLoadCurrent(absoluteFilePath) %This function takes in an absolute file path to a .csv or Excel file with %the following format: % Second column should be the motor speed in revolutions per minute diff --git a/controls/dataCollection/Moment of Inertia 10-25-16.xlsx b/controls/dataCollection/Moment of Inertia 10-25-16.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..22029fa973c512776a1f5bd522d59ffad64a2aa1 GIT binary patch literal 3812 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 literal 0 HcmV?d00001 diff --git a/controls/dataCollection/No Load Friction Current.xlsx b/controls/dataCollection/No Load Friction Current.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..bfe2f49b8b4a86f826c3194214df2bad0254cd61 GIT binary patch literal 14208 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 literal 0 HcmV?d00001 diff --git a/controls/dataCollection/Thrust and Drag Constant Data.xlsx b/controls/dataCollection/Thrust and Drag Constant Data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..f3ea1c03e98dcf630ae6ffb3278e55479389def3 GIT binary patch literal 22672 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 F{{U>r{`vp_ literal 0 HcmV?d00001 diff --git a/Model/Quadcopter_Model.slx b/controls/model/Quadcopter_Model.slx similarity index 100% rename from Model/Quadcopter_Model.slx rename to controls/model/Quadcopter_Model.slx diff --git a/controls/parameterIdentification/ModelingParameters.docx b/controls/parameterIdentification/ModelingParameters.docx new file mode 100644 index 0000000000000000000000000000000000000000..0dcc977533f1c133a95ff775eac36f0a635f071b GIT binary patch literal 6748 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 literal 0 HcmV?d00001 -- GitLab