(carla_world, carla_map)
| 119 | |
| 120 | |
| 121 | def get_dynamic_objects(carla_world, carla_map): |
| 122 | # Private helper functions |
| 123 | def _get_bounding_box(actor): |
| 124 | bb = actor.bounding_box.extent |
| 125 | corners = [ |
| 126 | carla.Location(x=-bb.x, y=-bb.y), |
| 127 | carla.Location(x=bb.x, y=-bb.y), |
| 128 | carla.Location(x=bb.x, y=bb.y), |
| 129 | carla.Location(x=-bb.x, y=bb.y)] |
| 130 | t = actor.get_transform() |
| 131 | t.transform(corners) |
| 132 | corners = [carla_map.transform_to_geolocation(p) for p in corners] |
| 133 | return corners |
| 134 | |
| 135 | def _get_trigger_volume(actor): |
| 136 | bb = actor.trigger_volume.extent |
| 137 | corners = [carla.Location(x=-bb.x, y=-bb.y), |
| 138 | carla.Location(x=bb.x, y=-bb.y), |
| 139 | carla.Location(x=bb.x, y=bb.y), |
| 140 | carla.Location(x=-bb.x, y=bb.y), |
| 141 | carla.Location(x=-bb.x, y=-bb.y)] |
| 142 | corners = [x + actor.trigger_volume.location for x in corners] |
| 143 | t = actor.get_transform() |
| 144 | t.transform(corners) |
| 145 | corners = [carla_map.transform_to_geolocation(p) for p in corners] |
| 146 | return corners |
| 147 | |
| 148 | def _split_actors(actors): |
| 149 | vehicles = [] |
| 150 | traffic_lights = [] |
| 151 | speed_limits = [] |
| 152 | walkers = [] |
| 153 | stops = [] |
| 154 | static_obstacles = [] |
| 155 | for actor in actors: |
| 156 | if 'vehicle' in actor.type_id: |
| 157 | vehicles.append(actor) |
| 158 | elif 'traffic_light' in actor.type_id: |
| 159 | traffic_lights.append(actor) |
| 160 | elif 'speed_limit' in actor.type_id: |
| 161 | speed_limits.append(actor) |
| 162 | elif 'walker' in actor.type_id: |
| 163 | walkers.append(actor) |
| 164 | elif 'stop' in actor.type_id: |
| 165 | stops.append(actor) |
| 166 | elif 'static.prop' in actor.type_id: |
| 167 | static_obstacles.append(actor) |
| 168 | |
| 169 | |
| 170 | return (vehicles, traffic_lights, speed_limits, walkers, stops, static_obstacles) |
| 171 | |
| 172 | # Public functions |
| 173 | def get_stop_signals(stops): |
| 174 | stop_signals_dict = dict() |
| 175 | for stop in stops: |
| 176 | st_transform = stop.get_transform() |
| 177 | location_gnss = carla_map.transform_to_geolocation(st_transform.location) |
| 178 | st_dict = { |
nothing calls this directly
no test coverage detected