scenario_runner icon indicating copy to clipboard operation
scenario_runner copied to clipboard

Fix dead actor accumulation in CDP

Open Daraan opened this issue 7 months ago • 0 comments

I realized that in the CarlaDataProvider._carla_actor_pool more and more dead actors accumulated over time when scenarios run. The reason is that actors are created over the CDP and are added to the pool, however, they are not destroyed over the CDP.
I think I located most of the locations where this is the case - however I think there is still at least one missing.

As a side result it the remove_actor_by_id function is now also slightly more informative. If the return value is None the users needs to take care of the destruction.


I also propose an update to the CarlaDataProvider._actor_[velocity, location, transform]_map, while this new code is in itself more expensive it was in the long run still faster as the sizes were overall smaller. Of course, just talking about a few ms.


Tested on

Platform(s): Ubuntu
Python version(s): 3.7 and 3.10
Unreal Engine version(s): 4.24
CARLA version: 0.9.15 dev

This change is Reviewable

Daraan avatar Jun 26 '24 15:06 Daraan