本文整理匯總了Python中carla.Location方法的典型用法代碼示例。如果您正苦於以下問題:Python carla.Location方法的具體用法?Python carla.Location怎麽用?Python carla.Location使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類carla
的用法示例。
在下文中一共展示了carla.Location方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _render_vehicles
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def _render_vehicles(self, surface, list_v, world_to_pixel):
for v in list_v:
color = COLOR_SKY_BLUE_0
if int(v[0].attributes['number_of_wheels']) == 2:
color = COLOR_CHOCOLATE_1
if v[0].attributes['role_name'] == 'hero':
color = COLOR_CHAMELEON_0
# Compute bounding box points
bb = v[0].bounding_box.extent
corners = [carla.Location(x=-bb.x, y=-bb.y),
carla.Location(x=bb.x - 0.8, y=-bb.y),
carla.Location(x=bb.x, y=0),
carla.Location(x=bb.x - 0.8, y=bb.y),
carla.Location(x=-bb.x, y=bb.y),
carla.Location(x=-bb.x, y=-bb.y)
]
v[1].transform(corners)
corners = [world_to_pixel(p) for p in corners]
pygame.draw.lines(surface, color, False, corners, int(math.ceil(4.0 * self.map_image.scale)))
示例2: get_trafficlight_trigger_location
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def get_trafficlight_trigger_location(traffic_light): # pylint: disable=invalid-name
"""
Calculates the yaw of the waypoint that represents the trigger volume of the traffic light
"""
def rotate_point(point, angle):
"""
rotate a given point by a given angle
"""
x_ = math.cos(math.radians(angle)) * point.x - math.sin(math.radians(angle)) * point.y
y_ = math.sin(math.radians(angle)) * point.x - math.cos(math.radians(angle)) * point.y
return carla.Vector3D(x_, y_, point.z)
base_transform = traffic_light.get_transform()
base_rot = base_transform.rotation.yaw
area_loc = base_transform.transform(traffic_light.trigger_volume.location)
area_ext = traffic_light.trigger_volume.extent
point = rotate_point(carla.Vector3D(0, 0, area_ext.z), base_rot)
point_location = area_loc + carla.Location(x=point.x, y=point.y)
return carla.Location(point_location.x, point_location.y, point_location.z)
示例3: __init__
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def __init__(self, carla_weather, dtime=None, animation=False):
"""
Class constructor
"""
self.carla_weather = carla_weather
self.animation = animation
self._sun = ephem.Sun() # pylint: disable=no-member
self._observer_location = ephem.Observer()
geo_location = CarlaDataProvider.get_map().transform_to_geolocation(carla.Location(0, 0, 0))
self._observer_location.lon = str(geo_location.longitude)
self._observer_location.lat = str(geo_location.latitude)
#@TODO This requires the time to be in UTC to be accurate
self.datetime = dtime
if self.datetime:
self._observer_location.date = self.datetime
self.update()
示例4: update
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def update(self):
"""
Update road friction. Spawns new friction blueprint and removes the old one, if existing.
returns:
py_trees.common.Status.SUCCESS
"""
for actor in CarlaDataProvider.get_world().get_actors().filter('static.trigger.friction'):
actor.destroy()
friction_bp = CarlaDataProvider.get_world().get_blueprint_library().find('static.trigger.friction')
extent = carla.Location(1000000.0, 1000000.0, 1000000.0)
friction_bp.set_attribute('friction', str(self._friction))
friction_bp.set_attribute('extent_x', str(extent.x))
friction_bp.set_attribute('extent_y', str(extent.y))
friction_bp.set_attribute('extent_z', str(extent.z))
# Spawn Trigger Friction
transform = carla.Transform()
transform.location = carla.Location(-10000.0, -10000.0, 0.0)
CarlaDataProvider.get_world().spawn_actor(friction_bp, transform)
return py_trees.common.Status.SUCCESS
示例5: _initialize_actors
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def _initialize_actors(self, config):
# add actors from xml file
for actor in config.other_actors:
vehicle = CarlaDataProvider.request_new_actor(actor.model, actor.transform)
self.other_actors.append(vehicle)
vehicle.set_simulate_physics(enabled=False)
# fast vehicle, tesla
# transform visible
fast_car_waypoint, _ = get_waypoint_in_distance(self._reference_waypoint, self._fast_vehicle_distance)
self.fast_car_visible = carla.Transform(
carla.Location(fast_car_waypoint.transform.location.x,
fast_car_waypoint.transform.location.y,
fast_car_waypoint.transform.location.z + 1),
fast_car_waypoint.transform.rotation)
# slow vehicle, vw
# transform visible
slow_car_waypoint, _ = get_waypoint_in_distance(self._reference_waypoint, self._slow_vehicle_distance)
self.slow_car_visible = carla.Transform(
carla.Location(slow_car_waypoint.transform.location.x,
slow_car_waypoint.transform.location.y,
slow_car_waypoint.transform.location.z),
slow_car_waypoint.transform.rotation)
示例6: _initialize_environment
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def _initialize_environment(self, world):
"""
Default initialization of weather and road friction.
Override this method in child class to provide custom initialization.
"""
# Set the appropriate weather conditions
world.set_weather(self.config.weather)
# Set the appropriate road friction
if self.config.friction is not None:
friction_bp = world.get_blueprint_library().find('static.trigger.friction')
extent = carla.Location(1000000.0, 1000000.0, 1000000.0)
friction_bp.set_attribute('friction', str(self.config.friction))
friction_bp.set_attribute('extent_x', str(extent.x))
friction_bp.set_attribute('extent_y', str(extent.y))
friction_bp.set_attribute('extent_z', str(extent.z))
# Spawn Trigger Friction
transform = carla.Transform()
transform.location = carla.Location(-10000.0, -10000.0, 0.0)
world.spawn_actor(friction_bp, transform)
示例7: get_opponent_transform
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def get_opponent_transform(added_dist, waypoint, trigger_location):
"""
Calculate the transform of the adversary
"""
lane_width = waypoint.lane_width
offset = {"orientation": 270, "position": 90, "k": 1.0}
_wp = waypoint.next(added_dist)
if _wp:
_wp = _wp[-1]
else:
raise RuntimeError("Cannot get next waypoint !")
location = _wp.transform.location
orientation_yaw = _wp.transform.rotation.yaw + offset["orientation"]
position_yaw = _wp.transform.rotation.yaw + offset["position"]
offset_location = carla.Location(
offset['k'] * lane_width * math.cos(math.radians(position_yaw)),
offset['k'] * lane_width * math.sin(math.radians(position_yaw)))
location += offset_location
location.z = trigger_location.z
transform = carla.Transform(location, carla.Rotation(yaw=orientation_yaw))
return transform
示例8: _initialize_actors
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def _initialize_actors(self, config):
"""
Custom initialization
"""
first_vehicle_waypoint, _ = get_waypoint_in_distance(self._reference_waypoint, self._first_vehicle_location)
self._other_actor_transform = carla.Transform(
carla.Location(first_vehicle_waypoint.transform.location.x,
first_vehicle_waypoint.transform.location.y,
first_vehicle_waypoint.transform.location.z + 1),
first_vehicle_waypoint.transform.rotation)
first_vehicle_transform = carla.Transform(
carla.Location(self._other_actor_transform.location.x,
self._other_actor_transform.location.y,
self._other_actor_transform.location.z - 500),
self._other_actor_transform.rotation)
first_vehicle = CarlaDataProvider.request_new_actor('vehicle.nissan.patrol', first_vehicle_transform)
first_vehicle.set_simulate_physics(enabled=False)
self.other_actors.append(first_vehicle)
示例9: _initialize_actors
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def _initialize_actors(self, config):
"""
Custom initialization
"""
_start_distance = 40
lane_width = self._reference_waypoint.lane_width
location, _ = get_location_in_distance_from_wp(self._reference_waypoint, _start_distance)
waypoint = self._wmap.get_waypoint(location)
offset = {"orientation": 270, "position": 90, "z": 0.4, "k": 0.2}
position_yaw = waypoint.transform.rotation.yaw + offset['position']
orientation_yaw = waypoint.transform.rotation.yaw + offset['orientation']
offset_location = carla.Location(
offset['k'] * lane_width * math.cos(math.radians(position_yaw)),
offset['k'] * lane_width * math.sin(math.radians(position_yaw)))
location += offset_location
location.z += offset['z']
self.transform = carla.Transform(location, carla.Rotation(yaw=orientation_yaw))
static = CarlaDataProvider.request_new_actor('static.prop.container', self.transform)
static.set_simulate_physics(True)
self.other_actors.append(static)
示例10: _spawn_blocker
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def _spawn_blocker(self, transform, orientation_yaw):
"""
Spawn the blocker prop that blocks the vision from the egovehicle of the jaywalker
:return:
"""
# static object transform
shift = 0.9
x_ego = self._reference_waypoint.transform.location.x
y_ego = self._reference_waypoint.transform.location.y
x_cycle = transform.location.x
y_cycle = transform.location.y
x_static = x_ego + shift * (x_cycle - x_ego)
y_static = y_ego + shift * (y_cycle - y_ego)
spawn_point_wp = self.ego_vehicles[0].get_world().get_map().get_waypoint(transform.location)
self.transform2 = carla.Transform(carla.Location(x_static, y_static,
spawn_point_wp.transform.location.z + 0.3),
carla.Rotation(yaw=orientation_yaw + 180))
static = CarlaDataProvider.request_new_actor('static.prop.vendingmachine', self.transform2)
static.set_simulate_physics(enabled=False)
return static
示例11: _render_hist_actors
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def _render_hist_actors(self, surface, actor_polygons, actor_type, world_to_pixel, num):
lp=len(actor_polygons)
color = COLOR_SKY_BLUE_0
for i in range(max(0,lp-num),lp):
for ID, poly in actor_polygons[i].items():
corners = []
for p in poly:
corners.append(carla.Location(x=p[0],y=p[1]))
corners.append(carla.Location(x=poly[0][0],y=poly[0][1]))
corners = [world_to_pixel(p) for p in corners]
color_value = max(0.8 - 0.8/lp*(i+1), 0)
if ID == self.hero_id:
# red
color = pygame.Color(255, math.floor(color_value*255), math.floor(color_value*255))
else:
if actor_type == 'vehicle':
# green
color = pygame.Color(math.floor(color_value*255), 255, math.floor(color_value*255))
elif actor_type == 'walker':
# yellow
color = pygame.Color(255, 255, math.floor(color_value*255))
pygame.draw.polygon(surface, color, corners)
示例12: random_spawn_point
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def random_spawn_point(world_map: carla.Map, different_from: carla.Location = None) -> carla.Transform:
"""Returns a random spawning location.
:param world_map: a carla.Map instance obtained by calling world.get_map()
:param different_from: ensures that the location of the random spawn point is different from the one specified here.
:return: a carla.Transform instance.
"""
available_spawn_points = world_map.get_spawn_points()
if different_from is not None:
while True:
spawn_point = random.choice(available_spawn_points)
if spawn_point.location != different_from:
return spawn_point
else:
return random.choice(available_spawn_points)
示例13: test_default_values
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def test_default_values(self):
location = carla.Location()
self.assertEqual(location.x, 0.0)
self.assertEqual(location.y, 0.0)
self.assertEqual(location.z, 0.0)
location = carla.Location(1.0)
self.assertEqual(location.x, 1.0)
self.assertEqual(location.y, 0.0)
self.assertEqual(location.z, 0.0)
location = carla.Location(1.0, 2.0)
self.assertEqual(location.x, 1.0)
self.assertEqual(location.y, 2.0)
self.assertEqual(location.z, 0.0)
location = carla.Location(1.0, 2.0, 3.0)
self.assertEqual(location.x, 1.0)
self.assertEqual(location.y, 2.0)
self.assertEqual(location.z, 3.0)
示例14: test_named_args
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def test_named_args(self):
location = carla.Location(x=42.0)
self.assertEqual(location.x, 42.0)
self.assertEqual(location.y, 0.0)
self.assertEqual(location.z, 0.0)
location = carla.Location(y=42.0)
self.assertEqual(location.x, 0.0)
self.assertEqual(location.y, 42.0)
self.assertEqual(location.z, 0.0)
location = carla.Location(z=42.0)
self.assertEqual(location.x, 0.0)
self.assertEqual(location.y, 0.0)
self.assertEqual(location.z, 42.0)
location = carla.Location(z=3.0, x=1.0, y=2.0)
self.assertEqual(location.x, 1.0)
self.assertEqual(location.y, 2.0)
self.assertEqual(location.z, 3.0)
示例15: test_values
# 需要導入模塊: import carla [as 別名]
# 或者: from carla import Location [as 別名]
def test_values(self):
t = carla.Transform()
self.assertEqual(t.location.x, 0.0)
self.assertEqual(t.location.y, 0.0)
self.assertEqual(t.location.z, 0.0)
self.assertEqual(t.rotation.pitch, 0.0)
self.assertEqual(t.rotation.yaw, 0.0)
self.assertEqual(t.rotation.roll, 0.0)
t = carla.Transform(carla.Location(y=42.0))
self.assertEqual(t.location.x, 0.0)
self.assertEqual(t.location.y, 42.0)
self.assertEqual(t.location.z, 0.0)
self.assertEqual(t.rotation.pitch, 0.0)
self.assertEqual(t.rotation.yaw, 0.0)
self.assertEqual(t.rotation.roll, 0.0)
t = carla.Transform(rotation=carla.Rotation(yaw=42.0))
self.assertEqual(t.location.x, 0.0)
self.assertEqual(t.location.y, 0.0)
self.assertEqual(t.location.z, 0.0)
self.assertEqual(t.rotation.pitch, 0.0)
self.assertEqual(t.rotation.yaw, 42.0)
self.assertEqual(t.rotation.roll, 0.0)