From 032f50774f851405717685b0e7c6d773ba991b68 Mon Sep 17 00:00:00 2001 From: Kevin D Date: Mon, 2 Mar 2026 16:15:03 -0800 Subject: [PATCH] improved globe plotting --- aerpaw/config/scenario.csv | 2 +- aerpaw/controller.coderprj | 2 +- aerpaw/results/plotGpsCsvs.m | 15 +++++++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/aerpaw/config/scenario.csv b/aerpaw/config/scenario.csv index a345dde..4dd5c71 100644 --- a/aerpaw/config/scenario.csv +++ b/aerpaw/config/scenario.csv @@ -1,2 +1,2 @@ timestep, maxIter, minAlt, discretizationStep, protectedRange, initialStepSize, barrierGain, barrierExponent, collisionRadius, comRange, alphaDist, betaDist, alphaTilt, betaTilt, domainMin, domainMax, objectivePos, sensorPerformanceMinimum, initialPositions, numObstacles, obstacleMin, obstacleMax -5, 100, 25.0, 0.1, 1.0, 1.0, 100, 3, 3.0, 30.0, 60.0, 0.2, 10.0, 1.0, "0.0, 0.0, 0.0", "50.0, 50.0, 100.0", "35.0, 35.0", 1e-6, "5.0, 10.0, 45.0, 15.0, 10.0, 30.0", 0, "", "" \ No newline at end of file +5, 100, 30.0, 0.1, 1.0, 2.0, 100, 3, 3.0, 30.0, 60.0, 0.2, 10.0, 1.0, "0.0, 0.0, 0.0", "50.0, 50.0, 50.0", "35.0, 35.0", 1e-6, "5.0, 10.0, 45.0, 15.0, 10.0, 35.0", 0, "", "" \ No newline at end of file diff --git a/aerpaw/controller.coderprj b/aerpaw/controller.coderprj index 20409eb..062006d 100644 --- a/aerpaw/controller.coderprj +++ b/aerpaw/controller.coderprj @@ -1070,7 +1070,7 @@ true - 2026-03-02T11:41:10 + 2026-03-02T12:17:24 diff --git a/aerpaw/results/plotGpsCsvs.m b/aerpaw/results/plotGpsCsvs.m index 8b2bc22..6dc37cd 100644 --- a/aerpaw/results/plotGpsCsvs.m +++ b/aerpaw/results/plotGpsCsvs.m @@ -7,15 +7,12 @@ seaToGroundLevel = 110; % meters, measured approximately from USGS national map lla0 = [35.72550610629396, -78.70019657805574, seaToGroundLevel]; % origin (LLA) % Paths to logs -gpsCsvs = fullfile ("sandbox", "test4", ... - ["GPS_DATA_0c8d904aa159_2026-03-02_14:42:51.csv"; ... - "GPS_DATA_8e4f52dac04d_2026-03-02_14:42:52.csv"; ... - ]); +gpsCsvs = dir(fullfile("sandbox", "test5", "*.csv")); G = cell(size(gpsCsvs)); for ii = 1:size(gpsCsvs, 1) % Read CSV - G{ii} = readGpsCsv(gpsCsvs(ii)); + G{ii} = readGpsCsv(fullfile(gpsCsvs(ii).folder, gpsCsvs(ii).name)); % Find when algorithm begins/ends (using ENU altitude) enuTraj = lla2enu([G{ii}.Latitude, G{ii}.Longitude, G{ii}.Altitude], lla0, 'flat'); @@ -41,7 +38,13 @@ llaObj = enu2lla(objectivePos, lla0, 'flat'); geoplot3(gf, [llaObj(1), llaObj(1)], [llaObj(2), llaObj(2)], [llaObj(3), llaObj(3) + 50], 'LineWidth', 3); % Plot domain +altOffset = 1; % to avoid clipping into the ground when displayed domain = [lla0; enu2lla([50, 50, 100], lla0, 'flat')]; -geoplot3(gf, [domain(1, 1), domain(2, 1), domain(2, 1), domain(1, 1), domain(1, 1)], [domain(1, 2), domain(1, 2), domain(2, 2), domain(2, 2), domain(1, 2)], repmat(domain(1, 3) + 10, 1, 5), 'LineWidth', 3); +geoplot3(gf, [domain(1, 1), domain(2, 1), domain(2, 1), domain(1, 1), domain(1, 1)], [domain(1, 2), domain(1, 2), domain(2, 2), domain(2, 2), domain(1, 2)], repmat(domain(1, 3) + altOffset, 1, 5), 'LineWidth', 3, 'Color', 'k'); +geoplot3(gf, [domain(1, 1), domain(2, 1), domain(2, 1), domain(1, 1), domain(1, 1)], [domain(1, 2), domain(1, 2), domain(2, 2), domain(2, 2), domain(1, 2)], repmat(domain(2, 3) + altOffset, 1, 5), 'LineWidth', 3, 'Color', 'k'); +geoplot3(gf, [domain(1, 1), domain(1, 1)], [domain(1, 2), domain(1, 2)], domain(:, 3) + altOffset, 'LineWidth', 3, 'Color', 'k'); +geoplot3(gf, [domain(2, 1), domain(2, 1)], [domain(1, 2), domain(1, 2)], domain(:, 3) + altOffset, 'LineWidth', 3, 'Color', 'k'); +geoplot3(gf, [domain(1, 1), domain(1, 1)], [domain(2, 2), domain(2, 2)], domain(:, 3) + altOffset, 'LineWidth', 3, 'Color', 'k'); +geoplot3(gf, [domain(2, 1), domain(2, 1)], [domain(2, 2), domain(2, 2)], domain(:, 3) + altOffset, 'LineWidth', 3, 'Color', 'k'); hold(gf, "off"); \ No newline at end of file