From f39ea7e44679af44b25f966906bdbae65f577995 Mon Sep 17 00:00:00 2001 From: Jason Wen Date: Fri, 9 Jun 2023 09:09:53 -0400 Subject: [PATCH] mapd: smaller query radius to lower RAM usage (#115) --- selfdrive/mapd/config.py | 1 + selfdrive/mapd/mapd.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/selfdrive/mapd/config.py b/selfdrive/mapd/config.py index 5d122422ca..94b6b1a89a 100644 --- a/selfdrive/mapd/config.py +++ b/selfdrive/mapd/config.py @@ -1,6 +1,7 @@ # Map query config QUERY_RADIUS = 3000 # mts. Radius to use on OSM data queries. +QUERY_RADIUS_OFFLINE = 2250 # mts. Radius to use on offline OSM data queries. MIN_DISTANCE_FOR_NEW_QUERY = 1000 # mts. Minimum distance to query area edge before issuing a new query. FULL_STOP_MAX_SPEED = 1.39 # m/s Max speed for considering car is stopped. LOOK_AHEAD_HORIZON_TIME = 15. # s. Time horizon for look ahead of turn speed sections to provide on liveMapData msg. diff --git a/selfdrive/mapd/mapd.py b/selfdrive/mapd/mapd.py index fb8eeaf431..db40c16abb 100644 --- a/selfdrive/mapd/mapd.py +++ b/selfdrive/mapd/mapd.py @@ -11,7 +11,7 @@ from common.realtime import Ratekeeper from selfdrive.mapd.lib.osm import OSM from selfdrive.mapd.lib.geo import distance_to_points from selfdrive.mapd.lib.WayCollection import WayCollection -from selfdrive.mapd.config import QUERY_RADIUS, MIN_DISTANCE_FOR_NEW_QUERY, FULL_STOP_MAX_SPEED, LOOK_AHEAD_HORIZON_TIME +from selfdrive.mapd.config import QUERY_RADIUS, QUERY_RADIUS_OFFLINE, MIN_DISTANCE_FOR_NEW_QUERY, FULL_STOP_MAX_SPEED, LOOK_AHEAD_HORIZON_TIME from system.swaglog import cloudlog DataType = log.LiveMapData.DataType @@ -130,7 +130,7 @@ class MapD(): return self._query_thread = threading.Thread(target=query, args=(self.osm, self.location_deg, self.location_rad, - QUERY_RADIUS)) + QUERY_RADIUS_OFFLINE if self.data_type == DataType.offline else QUERY_RADIUS)) self._query_thread.start() def updated_osm_data(self): @@ -145,7 +145,7 @@ class MapD(): if self.last_fetch_location is not None: distance_since_last = distance_to_points(self.last_fetch_location, np.array([self.location_rad]))[0] - if distance_since_last < QUERY_RADIUS - MIN_DISTANCE_FOR_NEW_QUERY: + if distance_since_last < (QUERY_RADIUS_OFFLINE if self.data_type == DataType.offline else QUERY_RADIUS) - MIN_DISTANCE_FOR_NEW_QUERY: # do not query if are still not close to the border of previous query area return