carla/Docs/python_api.md

338 lines
6.0 KiB
Markdown
Raw Normal View History

2018-07-30 20:28:51 +08:00
<h1>Python API Reference</h1>
2018-07-29 01:29:31 +08:00
!!! important
Versions prior to 0.9.0 have a very different API. For the documentation of
the stable version please switch to the
[stable branch](https://carla.readthedocs.io/en/stable/).
## `carla.Client`
- `Client(host, port, worker_threads=0)`
2018-10-01 20:29:11 +08:00
- `set_timeout(float_seconds)`
2018-07-29 01:29:31 +08:00
- `get_client_version()`
- `get_server_version()`
- `get_world()`
## `carla.World`
2018-10-17 02:12:23 +08:00
- `id`
- `map_name`
- `debug`
2018-07-29 01:29:31 +08:00
- `get_blueprint_library()`
2018-10-25 04:42:50 +08:00
- `get_map()`
2018-07-29 17:28:16 +08:00
- `get_spectator()`
2018-10-15 01:00:08 +08:00
- `get_weather()`
- `set_weather(weather_parameters)`
- `get_actors()`
2018-07-29 01:29:31 +08:00
- `spawn_actor(blueprint, transform, attach_to=None)`
- `try_spawn_actor(blueprint, transform, attach_to=None)`
2018-10-21 21:23:27 +08:00
- `wait_for_tick(seconds=1.0)`
2018-10-21 22:49:43 +08:00
- `on_tick(callback)`
2018-07-29 01:29:31 +08:00
## `carla.DebugHelper`
2018-11-16 01:19:52 +08:00
- `draw_point(location, size=0.1, color=carla.Color(), life_time=-1.0, persistent_lines=True)`
- `draw_line(begin, end, thickness=0.1, color=carla.Color(), life_time=-1.0, persistent_lines=True)`
- `draw_arrow(begin, end, thickness=0.1, arrow_size=0.1, color=carla.Color(), life_time=-1.0, persistent_lines=True)`
- `draw_box(box, rotation, thickness=0.1, color=carla.Color(), life_time=-1.0, persistent_lines=True)`
- `draw_string(location, text, draw_shadow=False, color=carla.Color(), life_time=-1.0, persistent_lines=True)`
2018-07-29 01:29:31 +08:00
## `carla.BlueprintLibrary`
- `find(id)`
- `filter(wildcard_pattern)`
- `__getitem__(pos)`
- `__len__()`
- `__iter__()`
## `carla.ActorBlueprint`
- `id`
- `tags`
2018-10-22 20:35:48 +08:00
- `has_tag(tag)`
2018-07-29 01:29:31 +08:00
- `match_tags(wildcard_pattern)`
2018-10-22 20:35:48 +08:00
- `has_attribute(key)`
2018-07-29 01:29:31 +08:00
- `get_attribute(key)`
- `set_attribute(key, value)`
- `__len__()`
- `__iter__()`
2018-07-29 01:29:31 +08:00
## `carla.ActorAttribute`
- `id`
2018-07-29 01:29:31 +08:00
- `type`
- `recommended_values`
- `is_modifiable`
2018-07-29 01:29:31 +08:00
- `as_bool()`
- `as_int()`
- `as_float()`
- `as_str()`
- `as_color()`
2018-10-22 20:35:48 +08:00
- `__eq__(other)`
- `__ne__(other)`
2018-07-29 01:29:31 +08:00
- `__nonzero__()`
- `__bool__()`
- `__int__()`
- `__float__()`
- `__str__()`
## `carla.ActorList`
2018-12-16 07:05:15 +08:00
- `find(id)`
- `filter(wildcard_pattern)`
- `__getitem__(pos)`
- `__len__()`
- `__iter__()`
2018-07-29 01:29:31 +08:00
## `carla.Actor`
- `id`
- `type_id`
2018-10-25 21:41:14 +08:00
- `parent`
2018-10-22 00:27:49 +08:00
- `semantic_tags`
- `is_alive`
Provide parent/attribute content of Actors via python interface While creating the new carla ros bridge some extensions became necessary within CARLA: The parent property of an actor via python interface is not yet filled. Therefore, the parent_id of Actors has to be transferred from the CARLA server via rpc interface. In addition, actor attributes are published via python interface. Changes in detail: carla/rpc/Actor.h: - add parent_id field to the Actor class for rpc transport TheNewCarlaServer.cpp: - fill the parent_id field with the appropriate value client/ActorList: - added GetActor() function to get an actor by id client/ActorVariant: - added actor_list optional parameter to Get() and MakeActor() function which allows to query for the parent actor in case the actor_list is available client/ActorAttribute: - solved problem of independent rpc::ActorAttribute* classes by introduction of ActorAttributeValueAccess class, to be able to reuse most of the functions for both ActorAttribueValues and ActorAttributes ActorBlueprintFunctionLibrary: - extended actor attributes by attribute 'role_name' having {autopilot, scenario, ego_vehicle} as recommended values for vehicles or {front,back,...} for sensors to be able to distiguish the different actors in a meaningful way when transferring to ROS topic names - extended vehicle attributes by not-modifiable attribute 'object_type' to be defined at blueprint creation time to provide ground truth object classification type PythonAPI: - libcarla: provide the actor attributes within python as dictionary - make use of role_name attribute to provide information required for ROS bridge to distinguish ego vehicle from others
2018-11-30 23:05:30 +08:00
- `attributes`
2018-07-29 01:29:31 +08:00
- `get_world()`
- `get_location()`
- `get_transform()`
- `get_velocity()`
- `get_acceleration()`
2018-07-29 01:29:31 +08:00
- `set_location(location)`
- `set_transform(transform)`
- `set_simulate_physics(enabled=True)`
2018-07-29 01:29:31 +08:00
- `destroy()`
## `carla.Vehicle(carla.Actor)`
- `bounding_box`
2018-07-29 01:29:31 +08:00
- `apply_control(vehicle_control)`
- `get_control()`
2018-07-29 01:29:31 +08:00
- `set_autopilot(enabled=True)`
- `get_speed_limit()`
- `get_traffic_light_state()`
- `is_at_traffic_light()`
- `get_traffic_light()`
2018-07-29 01:29:31 +08:00
2018-10-22 20:35:48 +08:00
## `carla.TrafficLight(carla.Actor)`
- `state`
- `set_state(traffic_light_state)`
- `get_state()`
- `set_green_time(green_time)`
- `get_green_time()`
- `set_yellow_time(yellow_time)`
- `get_yellow_time()`
- `set_red_time(red_time)`
- `get_red_time()`
- `get_elapsed_time()`
- `freeze(True)`
- `is_frozen()`
2018-10-22 20:35:48 +08:00
2018-07-29 01:29:31 +08:00
## `carla.Sensor(carla.Actor)`
- `is_listening`
2018-07-29 01:29:31 +08:00
- `listen(callback_function)`
- `stop()`
2018-07-29 01:29:31 +08:00
2018-10-22 20:35:48 +08:00
## `carla.SensorData`
2018-07-29 01:29:31 +08:00
- `frame_number`
- `transform`
2018-10-22 20:35:48 +08:00
## `carla.Image(carla.SensorData)`
2018-07-29 01:29:31 +08:00
- `width`
- `height`
- `fov`
- `raw_data`
- `convert(color_converter)`
- `save_to_disk(path, color_converter=None)`
- `__len__()`
- `__iter__()`
- `__getitem__(pos)`
- `__setitem__(pos, color)`
2018-10-22 20:35:48 +08:00
## `carla.LidarMeasurement(carla.SensorData)`
- `horizontal_angle`
- `channels`
- `raw_data`
- `get_point_count(channel)`
- `save_to_disk(path)`
- `__len__()`
- `__iter__()`
- `__getitem__(pos)`
- `__setitem__(pos, location)`
2018-07-29 01:29:31 +08:00
2018-10-22 20:35:48 +08:00
## `carla.CollisionEvent(carla.SensorData)`
- `actor`
- `other_actor`
- `normal_impulse`
## `carla.LaneInvasionEvent(carla.SensorData)`
- `actor`
- `crossed_lane_markings`
## `carla.GnssEvent(carla.SensorData)`
- `latitude`
- `longitude`
- `altitude`
## `carla.ObstacleDetectionSensorEvent(carla.SensorData)`
- `actor`
- `other_actor`
- `distance`
2018-07-29 01:29:31 +08:00
## `carla.VehicleControl`
- `throttle`
- `steer`
- `brake`
- `hand_brake`
- `reverse`
2018-10-22 20:35:48 +08:00
- `__eq__(other)`
- `__ne__(other)`
2018-07-29 01:29:31 +08:00
2018-10-25 04:42:50 +08:00
## `carla.Map`
- `name`
- `get_spawn_points()`
- `get_waypoint(location, project_to_road=True)`
2018-11-15 01:15:56 +08:00
- `get_topology()`
- `generate_waypoints(distance)`
2018-10-25 04:42:50 +08:00
- `to_opendrive()`
2018-10-25 18:55:15 +08:00
- `save_to_disk(path=self.name)`
2018-10-25 04:42:50 +08:00
## `carla.Waypoint`
- `transform`
2018-11-15 03:41:00 +08:00
- `is_intersection`
- `lane_width`
- `road_id`
- `lane_id`
2018-10-25 04:42:50 +08:00
- `next(distance)`
2018-10-15 01:00:08 +08:00
## `carla.WeatherParameters`
- `cloudyness`
- `precipitation`
- `precipitation_deposits`
- `wind_intensity`
- `sun_azimuth_angle`
- `sun_altitude_angle`
2018-10-22 20:35:48 +08:00
- `__eq__(other)`
- `__ne__(other)`
Static presets
- `carla.WeatherParameters.ClearNoon`
- `carla.WeatherParameters.CloudyNoon`
- `carla.WeatherParameters.WetNoon`
- `carla.WeatherParameters.WetCloudyNoon`
- `carla.WeatherParameters.MidRainyNoon`
- `carla.WeatherParameters.HardRainNoon`
- `carla.WeatherParameters.SoftRainNoon`
- `carla.WeatherParameters.ClearSunset`
- `carla.WeatherParameters.CloudySunset`
- `carla.WeatherParameters.WetSunset`
- `carla.WeatherParameters.WetCloudySunset`
- `carla.WeatherParameters.MidRainSunset`
- `carla.WeatherParameters.HardRainSunset`
- `carla.WeatherParameters.SoftRainSunset`
## `carla.Vector3D`
- `x`
- `y`
- `z`
- `__add__(other)`
- `__sub__(other)`
- `__eq__(other)`
- `__ne__(other)`
2018-10-15 01:00:08 +08:00
2018-07-29 01:29:31 +08:00
## `carla.Location`
- `x`
- `y`
- `z`
2018-11-16 01:19:52 +08:00
- `distance(other)`
2018-10-22 20:35:48 +08:00
- `__add__(other)`
- `__sub__(other)`
- `__eq__(other)`
- `__ne__(other)`
2018-07-29 01:29:31 +08:00
## `carla.Rotation`
- `pitch`
- `yaw`
- `roll`
- `get_forward_vector()`
2018-10-22 20:35:48 +08:00
- `__eq__(other)`
- `__ne__(other)`
2018-07-29 01:29:31 +08:00
## `carla.Transform`
- `location`
- `rotation`
- `transform(geom_object)`
- `get_forward_vector()`
2018-10-22 20:35:48 +08:00
- `__eq__(other)`
- `__ne__(other)`
2018-11-16 01:19:52 +08:00
## `carla.BoundingBox`
- `location`
- `extent`
- `__eq__(other)`
- `__ne__(other)`
2018-10-22 20:35:48 +08:00
## `carla.Timestamp`
- `frame_count`
- `elapsed_seconds`
- `delta_seconds`
- `platform_timestamp`
- `__eq__(other)`
- `__ne__(other)`
2018-07-29 01:29:31 +08:00
## `carla.Color`
- `r`
- `g`
- `b`
- `a`
2018-10-22 20:35:48 +08:00
- `__eq__(other)`
- `__ne__(other)`
## `carla.ColorConverter`
- `Raw`
- `Depth`
- `LogarithmicDepth`
- `CityScapesPalette`
2018-10-22 20:35:48 +08:00
## `carla.ActorAttributeType`
- `Bool`
- `Int`
- `Float`
- `RGBColor`
## `carla.TrafficLightState`
- `Red`
- `Yellow`
- `Green`
- `Off`
2018-11-08 19:50:11 +08:00
- `Unknown`
## `carla.LaneMarking`
- `Other`
- `Broken`
- `Solid`