创建小车+摄像头
import glob
import os
import sys
try:
sys.path.append(glob.glob('../carla/dist/carla-*%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
import carla
import time
import random
import cv2
import numpy as np
actor_list = []
try:
client = carla.Client('localhost', 2000)
client.set_timeout(10.0)
world = client.get_world()
blueprint_library = world.get_blueprint_library()
collision_sensor_bp = blueprint_library.find('sensor.other.collision')
vehicle_bp = random.choice(blueprint_library.filter('vehicle.bmw.*'))
camera_bp = blueprint_library.find('sensor.camera.rgb')
camera_bp.set_attribute('image_size_x', '480')
camera_bp.set_attribute('image_size_y', '640')
camera_bp.set_attribute('fov', '110')
camera_bp.set_attribute('sensor_tick', '1.0')
location = carla.Location(15, 14, 0.7)
rotation = carla.Rotation(0, -179, 0)
transform_vehicle = carla.Transform(location, rotation)
transform_RGB = carla.Transform(carla.Location(x=0.8, z=1.7))
my_vehicle = world.spawn_actor(vehicle_bp, transform_vehicle)
my_camera = world.spawn_actor(camera_bp, transform_RGB, attach_to=my_vehicle)
actor_list.append(my_camera)
actor_list.append(my_vehicle)
my_vehicle.apply_control(carla.VehicleControl(throttle=0.8, steer=1, ))
time.sleep(20)
finally:
for actor in actor_list:
actor.destroy()
print(actor.id, "is destroyed.")