MCPcopy Create free account
hub / github.com/AdaCompNUS/summit / do_collision_statistics

Function do_collision_statistics

PythonAPI/examples/gamma_crowd.py:923–939  ·  view source on GitHub ↗
(c, timestamp, log_file)

Source from the content-addressed store, hash-verified

921
922
923def do_collision_statistics(c, timestamp, log_file):
924 actors = c.world.get_actors()
925 actors = [a for a in actors if is_car(a) or is_bike(a) or is_pedestrian(a)]
926 bounding_boxes = [carla.OccupancyMap(get_bounding_box_corners(actor)) for actor in actors]
927 collisions = [0 for _ in range(len(actors))]
928
929 for i in range(len(actors) - 1):
930 if collisions[i] == 1:
931 continue
932 for j in range(i + 1, len(actors)):
933 if bounding_boxes[i].intersects(bounding_boxes[j]):
934 collisions[i] = 1
935 collisions[j] = 1
936
937 log_file.write('{} {}\n'.format(timestamp, 0.0 if len(collisions) == 0 else float(sum(collisions)) / len(collisions)))
938 log_file.flush()
939 os.fsync(log_file)
940
941
942def do_gamma(c, car_agents, bike_agents, pedestrian_agents, destroy_list):

Callers 1

Calls 7

OccupancyMapMethod · 0.80
is_carFunction · 0.70
is_bikeFunction · 0.70
is_pedestrianFunction · 0.70
get_bounding_box_cornersFunction · 0.70
writeMethod · 0.45
flushMethod · 0.45

Tested by

no test coverage detected