From a2ee6af610ffc6f2609397519f7de4afbe375c25 Mon Sep 17 00:00:00 2001 From: Cal Wing <20716204+calw20@users.noreply.github.com> Date: Thu, 2 Nov 2023 18:45:22 +1000 Subject: [PATCH] Create all the graphs --- .gitignore | 3 +++ main.py | 20 +++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index f6a4150..c0d833f 100644 --- a/.gitignore +++ b/.gitignore @@ -166,3 +166,6 @@ images # Temp Folder tmp +#Temp Files +tmp*.py + diff --git a/main.py b/main.py index d9ea0ab..0943c4a 100644 --- a/main.py +++ b/main.py @@ -506,6 +506,8 @@ def generateTruthErrorGraphs(missionData): #print(missionData[0][[IMU_TIME_HEADER[0]] + [NED_POSITION_HEADER[0]] + [TRUTH_N_POS_HEADER[1]] + [TRUTH_NPOS_DELTA_HEADER[0]]]) + poly_low = np.polyfit(missionData[0][IMU_TIME_HEADER[0]], missionData[0][TRUTH_NPOS_DELTA_HEADER[0]], 2) + poly_high = np.polyfit(missionData[1][IMU_TIME_HEADER[0]], missionData[1][TRUTH_NPOS_DELTA_HEADER[0]], 2) graphData = { "grid": True, "xLabel": "Time [s]", @@ -513,13 +515,17 @@ def generateTruthErrorGraphs(missionData): "title": "Calculated vs True North Position Delta", "plots": [ {"x":missionData[0][IMU_TIME_HEADER[0]], "y": missionData[0][TRUTH_NPOS_DELTA_HEADER[0]], "label": "Low Grade IMU Error"}, - {"x":missionData[1][IMU_TIME_HEADER[0]], "y": missionData[1][TRUTH_NPOS_DELTA_HEADER[0]], "label": "High Grade IMU Error"} + {"x":missionData[1][IMU_TIME_HEADER[0]], "y": missionData[1][TRUTH_NPOS_DELTA_HEADER[0]], "label": "High Grade IMU Error"}, + {"x":missionData[0][IMU_TIME_HEADER[0]], "y": np.polyval(poly_low, missionData[0][IMU_TIME_HEADER[0]]), "label": "Low Grade Best Fit Curve"}, + {"x":missionData[1][IMU_TIME_HEADER[0]], "y": np.polyval(poly_high, missionData[1][IMU_TIME_HEADER[0]]), "label": "High Grade Best Fit Curve"}, + ] } + makeGraph(graphData, False, False, figSavePath="./images/m1_error_delta.png") - poly_low = np.polyfit(missionData[0][IMU_TIME_HEADER[0]], missionData[0][TRUTH_NPOS_DELTA_HEADER[1]], 3) - poly_high = np.polyfit(missionData[1][IMU_TIME_HEADER[0]], missionData[1][TRUTH_NPOS_DELTA_HEADER[1]], 3) + poly_low_perc = np.polyfit(missionData[0][IMU_TIME_HEADER[0]], missionData[0][TRUTH_NPOS_DELTA_HEADER[1]], 2) + poly_high_perc = np.polyfit(missionData[1][IMU_TIME_HEADER[0]], missionData[1][TRUTH_NPOS_DELTA_HEADER[1]], 2) graphData = { "grid": True, "xLabel": "Time [s]", @@ -528,13 +534,15 @@ def generateTruthErrorGraphs(missionData): "plots": [ {"x":missionData[0][IMU_TIME_HEADER[0]], "y": np.abs(missionData[0][TRUTH_NPOS_DELTA_HEADER[1]]), "label": "Low Grade IMU Error"}, {"x":missionData[1][IMU_TIME_HEADER[0]], "y": np.abs(missionData[1][TRUTH_NPOS_DELTA_HEADER[1]]), "label": "High Grade IMU Error"}, - {"x":missionData[0][IMU_TIME_HEADER[0]], "y": np.polyval(poly_low, missionData[0][IMU_TIME_HEADER[0]]), "label": "Low Grade Best Fit Curve"}, - {"x":missionData[1][IMU_TIME_HEADER[0]], "y": np.polyval(poly_high, missionData[1][IMU_TIME_HEADER[0]]), "label": "High Grade Best Fit Curve"}, + #{"x":missionData[0][IMU_TIME_HEADER[0]], "y": np.polyval(poly_low_perc, missionData[0][IMU_TIME_HEADER[0]]), "label": "Low Grade Best Fit Curve"}, + #{"x":missionData[1][IMU_TIME_HEADER[0]], "y": np.polyval(poly_high_perc, missionData[1][IMU_TIME_HEADER[0]]), "label": "High Grade Best Fit Curve"}, ] } makeGraph(graphData, False, False, figSavePath="./images/m1_error_percent.png") + return (poly_low, poly_high), (poly_low_perc, poly_high_perc) + if __name__ == '__main__': #Load, Process & Graph Mission Data for Mission 1 @@ -544,6 +552,8 @@ if __name__ == '__main__': generateTruthErrorGraphs(missionData) generateGraphs(missionData, 1) + exit() + #Load, Process & Graph Mission Data for Mission 1 missionData = cacheData("./tmp/m2_L_transData.dfz", calculateVelocityPosition, (m2_IMUData[0], INIT_FLIGHT_PRAMS), forceCalc=False), \