carla/PythonAPI/vehicle_gallery.py

65 lines
1.6 KiB
Python
Raw Normal View History

2018-07-30 05:52:13 +08:00
#!/usr/bin/env python
# Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma de
# Barcelona (UAB).
#
# This work is licensed under the terms of the MIT license.
# For a copy, see <https://opensource.org/licenses/MIT>.
2018-10-10 00:04:50 +08:00
import glob
import os
2018-07-30 05:52:13 +08:00
import sys
2018-10-10 00:04:50 +08:00
try:
sys.path.append(glob.glob('**/*%d.%d-%s.egg' % (
sys.version_info.major,
sys.version_info.minor,
'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
except IndexError:
pass
2018-07-30 05:52:13 +08:00
import carla
import math
import random
2018-07-30 05:52:13 +08:00
import time
def get_transform(vehicle_location, angle, d=6.4):
2018-07-30 05:52:13 +08:00
a = math.radians(angle)
location = carla.Location(d * math.cos(a), d * math.sin(a), 2.0) + vehicle_location
return carla.Transform(location, carla.Rotation(yaw=180 + angle, pitch=-20))
2018-07-30 05:52:13 +08:00
def main():
client = carla.Client('localhost', 2000)
client.set_timeout(2.0)
2018-07-30 05:52:13 +08:00
world = client.get_world()
spectator = world.get_spectator()
2018-08-24 20:40:19 +08:00
vehicle_blueprints = world.get_blueprint_library().filter('vehicle')
2018-07-30 05:52:13 +08:00
location = random.choice(world.get_map().get_spawn_points()).location
2018-07-30 05:52:13 +08:00
for blueprint in vehicle_blueprints:
transform = carla.Transform(location, carla.Rotation(yaw=-45.0))
2018-07-30 05:52:13 +08:00
vehicle = world.spawn_actor(blueprint, transform)
try:
print(vehicle.type_id)
angle = 0
while angle < 356:
timestamp = world.wait_for_tick()
angle += timestamp.delta_seconds * 60.0
spectator.set_transform(get_transform(location, angle - 90))
2018-07-30 05:52:13 +08:00
finally:
vehicle.destroy()
if __name__ == '__main__':
main()