From fd404bc704308d63f282779f2336f2a5d5c79757 Mon Sep 17 00:00:00 2001 From: Charles McCabe Date: Tue, 5 May 2026 19:11:38 -0400 Subject: [PATCH] map getter function loads clean version if exist --- sim_ws/src/scripts/map_preparation/raceline_config.py | 6 +++--- sim_ws/src/scripts/map_preparation/requirements.txt | 8 ++++++++ sim_ws/src/scripts/map_preparation/utils/map_io.py | 5 +++-- 3 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 sim_ws/src/scripts/map_preparation/requirements.txt diff --git a/sim_ws/src/scripts/map_preparation/raceline_config.py b/sim_ws/src/scripts/map_preparation/raceline_config.py index 5fb7d85..6427e3d 100644 --- a/sim_ws/src/scripts/map_preparation/raceline_config.py +++ b/sim_ws/src/scripts/map_preparation/raceline_config.py @@ -4,8 +4,8 @@ @dataclass(frozen=True) class RacelineConfig: # Map files - map_folder: str = "../raceLine_maker/slam_maps" - forced_map_basename: str = "" + map_folder: str = "slam_maps" + forced_map_basename: str = "slam_map_20260503_222842_clean" # Output csv_folder: str = "saved/" @@ -16,7 +16,7 @@ class RacelineConfig: # A* tuning safety_weight: float = 100 - turn_weight: float = 8.0 + turn_weight: float = 0.0 # Raceline mode: "astar", "min_curvature" or "manual_spline" raceline_mode: str = "min_curvature" diff --git a/sim_ws/src/scripts/map_preparation/requirements.txt b/sim_ws/src/scripts/map_preparation/requirements.txt new file mode 100644 index 0000000..ccb356d --- /dev/null +++ b/sim_ws/src/scripts/map_preparation/requirements.txt @@ -0,0 +1,8 @@ +numpy +opencv-python +PyYAML +matplotlib +scipy +scikit-image +Pillow +cvxpy diff --git a/sim_ws/src/scripts/map_preparation/utils/map_io.py b/sim_ws/src/scripts/map_preparation/utils/map_io.py index 964f4cb..8f29812 100644 --- a/sim_ws/src/scripts/map_preparation/utils/map_io.py +++ b/sim_ws/src/scripts/map_preparation/utils/map_io.py @@ -80,14 +80,15 @@ def find_latest_map_pair(map_folder): if not os.path.isfile(pgm_path): continue - candidates.append((m.group(1), entry, pgm_name)) + is_clean = stem.endswith("_clean") + candidates.append((m.group(1), is_clean, entry, pgm_name)) if not candidates: raise FileNotFoundError( f"No timestamped YAML/PGM map pairs found in '{map_folder}'." ) - _, yaml_name, pgm_name = max(candidates, key=lambda x: x[0]) + _, _, yaml_name, pgm_name = max(candidates, key=lambda x: (x[0], x[1])) return yaml_name, pgm_name