Skip to content

Commit f47ab67

Browse files
committed
Dead actor cleaning in CPD._actor_*_maps
1 parent 966cc11 commit f47ab67

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

srunner/scenariomanager/carla_data_provider.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -137,18 +137,24 @@ def on_carla_tick():
137137
Callback from CARLA
138138
"""
139139
with CarlaDataProvider._lock:
140-
for actor in CarlaDataProvider._actor_velocity_map:
140+
for actor in CarlaDataProvider._actor_velocity_map.copy():
141141
if actor is not None and actor.is_alive:
142142
CarlaDataProvider._actor_velocity_map[actor] = calculate_velocity(actor)
143+
else:
144+
del CarlaDataProvider._actor_velocity_map[actor]
143145

144-
for actor in CarlaDataProvider._actor_location_map:
146+
for actor in CarlaDataProvider._actor_location_map.copy():
145147
if actor is not None and actor.is_alive:
146148
CarlaDataProvider._actor_location_map[actor] = actor.get_location()
149+
else:
150+
del CarlaDataProvider._actor_location_map[actor]
147151

148-
for actor in CarlaDataProvider._actor_transform_map:
152+
for actor in CarlaDataProvider._actor_transform_map.copy():
149153
if actor is not None and actor.is_alive:
150154
CarlaDataProvider._actor_transform_map[actor] = actor.get_transform()
151-
155+
else:
156+
del CarlaDataProvider._actor_transform_map[actor]
157+
152158
world = CarlaDataProvider._world
153159
if world is None:
154160
print("WARNING: CarlaDataProvider couldn't find the world")

0 commit comments

Comments
 (0)