Fetch the repository succeeded.
offset
* Upgraded to DirectX 12 on Windows * Added the new core pipeline for the simulator * Added parameter to carla settings to control culling * Added fully deterministic option for Traffic Manager, sorting vehicles by ID and avoiding race conditions * Added the option to sweep the wheel shape for collision. This requires to patch the engine * Added the possibility of changing physics substepping options from client * Added 'noise_seed' to sensors to initialize the random generators * API extensions: - Added actor.set_enable_gravity()
function to enable/disable the gravity affecting the actor - Added load_map_layer
and unload_map_layer
to control map layers on new maps that support subleveling - Added get_environment_objects
call to get all the placed objects in the level - Added enable_environment_objects
call to enable/disable objects of the level - Added horizontal_fov
parameter to lidar sensor to allow for restriction of its field of view - Added WorldSettings.deterministic_ragdolls
to enable deterministic or physically based ragdolls * Fixed RSSSensor python3 build and import of open drive maps by updating to ad-rss v4.2.0 and ad-map-access v2.3.0. * Python import of dependent 'ad' python modules reflects now the namespaces of the C++ interface and follow doxygen documentation * Fixed sensor transformations and sensor data transformations mismatch in IMU and camera-based sensors * Fixed random dead-lock on synchronous mode at high frame rate * Fixed bug on Windows causing sun reflection artifacts * Fixed bug in waypoint.get_landmarks()
causing some landmarks to be missed when s = 0 * Fixed the actor.set_simulate_physics()
for pedestrians and vehicles * Fixed bug causing camera-based sensors to stop sending data * Fixed the lack of determinism on the output of raycast sensors * Fixed missing laneChange
record in converted OSM maps * Fixed bug in the actor's id returned by the semantic lidar * Fixed error when using --config
parameter in make package
* Fixed dependency of library Xerces-c on package * Fixed minor typo in the simulation data section of the documentation * Fixed the config.py
to read the .osm
files in proper utf-8
encodingactor.set_velocity()
to actor.set_target_velocity()
- Renamed actor.set_angular_velocity()
to actor.set_target_velocity()
- RGB cameras exposure_mode
is now set to histogram
by default * API extensions: - Added carla.Osm2Odr.convert()
function and carla.Osm2OdrSettings
class to support Open Street Maps to OpenDRIVE conversion - Added world.freeze_all_traffic_lights()
and traffic_light.reset_group()
- Added client.stop_replayer()
to stop the replayer - Added world.get_vehicles_light_states()
to get all the car light states at once - Added constant velocity mode (actor.enable_constant_velocity()
/ actor.disable_constant_velocity()
) - Added function actor.add_angular_impulse()
to add angular impulse to any actor - Added actor.add_force()
and actor.add_torque()
- Added functions transform.get_right_vector()
and transform.get_up_vector()
- Added command to set multiple car light states at once - Added 4-matrix form of transformations * Added new semantic segmentation tags: RailTrack
, GuardRail
, TrafficLight
, Static
, Dynamic
, Water
and Terrain
* Added fixed ids for street and building lights * Added vehicle light and street light data to the recorder * Improved the colliders and physics for all vehicles * All sensors are now multi-stream, the same sensor can be listened from different clients * New semantic LiDAR sensor (lidar.ray_cast_semantic
) * Added open3D_lidar.py
, a more friendly LiDAR visualizer * Added make command to download contributions as plugins (make plugins
) * Added a warning when using SpringArm exactly in the 'z' axis of the attached actor * Improved performance of raycast-based sensors through parallelization * Added an approximation of the intensity of each point of the cloud in the LiDAR sensor * Added Dynamic Vision Sensor (DVS) camera based on ESIM simulation http://rpg.ifi.uzh.ch/esim.html * Improved LiDAR and radar to better match the shape of the vehicles * Added support for additional TraCI clients in Sumo co-simulation * Added script example to synchronize the gathering of sensor data in client * Added default values and a warning message for lanes missing the width parameter in OpenDRIVE * Added parameter to enable/disable pedestrian navigation in standalone mode * Improved mesh partition in standalone mode * Added Renderdoc plugin to the Unreal project * Added configurable noise to LiDAR sensor * Replace deprecated platform.dist()
with recommended distro.linux_distribution()
* Improved the performance of capture sensors * Fixed the center of mass for vehicles * Fixed a number of OpenDRIVE parsing bugs * Fixed vehicles' bounding boxes, now they are automatic * Fixed a map change error when Traffic Manager is in synchronous mode * Fixes add entry issue for applying parameters more than once in Traffic Manager * Fixes std::numeric_limits::epsilon error in Traffic Manager * Fixed memory leak on manual_control.py
scripts (sensor listening was not stopped before destroying) * Fixed a bug in spawn_npc_sumo.py
script computing not allowed routes for a given vehicle class * Fixed a bug where get_traffic_light()
would always return None
* Fixed recorder determinism problems * Fixed several untagged and mistagged objects * Fixed rain drop spawn issues when spawning camera sensors * Fixed semantic tags in the asset import pipeline * Fixed Update.sh
from failing when the root folder contains a space on it * Fixed dynamic meshes not moving to the initial position when replaying * Fixed colors of lane markings when importing a map, they were reversed (white and yellow) * Fixed missing include directive in file WheelPhysicsControl.h
* Fixed gravity measurement bug from IMU sensor * Fixed LiDAR’s point cloud reference frame * Fixed light intensity and camera parameters to match * Fixed and improved auto-exposure camera (histogram
exposure mode) * Fixed delay in the TCP communication from server to the client in synchronous mode for Linux * Fixed large RAM usage when loading polynomial geometry from OpenDRIVE * Fixed collision issues when debug.draw_line()
is called * Fixed gyroscope sensor to properly give angular velocity readings in the local frame * Fixed minor typo in the introduction section of the documentation * Fixed a bug at the local planner when changing the route, causing it to maintain the first part of the previous one. This was only relevant when using very large buffer sizesGetLeftLaneMarking()
from a possible runtime errorMap
: get_all_landmarks
, get_all_landmarks_from_id
and get_all_landmarks_of_type
range
is now set in meters, not in centimetershorizontal_angle
is now received in radians, not in degreescarla.GnssEvent
renamed to carla.GnssMeasurement
carla.IMUMeasurement
carla.RadarMeasurement
and carla.RadarDetection
manual_control.py
with a lens disortion effect examplemanual_control.py
with IMU and Radar realtime visualizationcout
that interfiered with other python modulesautomatic_control.py
failing because the Num Lock
keyARLA 0.9.6
-opengl
flag to launch with OpenGL-w
show_recorder_file_info.py
)frame_count
and frame_number
as frame
, old members are kept as deprecatedworld.wait_for_tick()
now returns a carla.WorldSnapshot
world.on_tick(callback)
now receives a carla.WorldSnapshot
is_intersection
, use is_junction
insteadjunction_id
that returns de OpenDrive identifier of the current junctionworld.get_actor(id)
to find a single actor by idcarla.WeatherParameters.Default
for the default (tailor-made for each town) weather profileWorldSnapshot
that contains a list of ActorSnapshot
, allows capturings a "still image" of the world at a single frameworld.tick()
now synchronizes with the simulator and returns the id of the newly started frameworld.apply_settings(settings)
now synchronizes with the simulator and returns the id of the frame when the settings took effectworld.remove_on_tick(id)
to allow removing on tick callbackscarla.WorldSettings
is_invincible
to walkersno_rendering_mode.py
CARLA 0.9.5
lane_type
is now an enum, carla.LaneType
carla.LaneMarking
is not an enum anymore, extended with color, type, lane change, and widthmap.get_waypoint
accepts an extra optional flag argument lane_type
for filtering lane typescarla.Map
can be constructed off-line out of XODR files, carla.Map(town_name, xodr_content)
id
property to waypoints, uniquely identifying waypoints up to half centimetre precisionmap.transform_to_geolocation
to transform Location to GNSS GeoLocationclient.apply_batch_sync
that sends commands in batch and waits for server responsespawn_npc.py
to spawn vehicles in batchActorList.Filter(...)
CARLA 0.9.4
client.tick()
client.load_map(name)
, client.reload_map()
, and client.get_available_maps()
lane_change
, lane_type
, get_right_lane()
and get_left_lane()
manual_control_steeringwheel.py
to control agents using Logitech G29 steering wheels (and maybe others)manual_control.py
scriptworld.map_name
from API, use world.get_map().name
insteadno_rendering_mode.py
to improve performance and interfaceworld.get_actors()
right after creating the worldno_rendering_mode.py
manual_control.py
and no_rendering_mode.py
to prevent crashes when used in "no rendering mode"CARLA 0.9.3
CARLA 0.9.2
CARLA 0.9.1
world.get_actors()
world.get_actors()
returns an ActorList
object with filter
functionality and lazy initialization of actorscarla.Map
and carla.Waypoint
classes for querying info about the road layout
map.get_spawn_points()
to retrieve the recommended spawn points for vehiclesmap.get_waypoint(location)
to query the nearest waypointmap.generate_waypoints(distance)
to generate waypoints all over the map at an approximated distancemap.get_topology()
for getting a list the tuples of waypoints that define the edges of the road graphwaypoint.next(distance)
to retrieve the list of the waypoints at a distance that can be driven from this waypointparent
attributes to actors, not None if the actor is attached to another actorsemantic_tags
to actors containing the list of tags of all of its componentsactor.set_simulate_physics(enabled=True)
vehicle.bounding_box
propertyvehicle.get_vehicle_control()
world.wait_for_tick()
for blocking the current thread until a "tick" message is receivedworld.on_tick(callback)
for executing a callback asynchronously each time a "tick" message is receivedcarla.Timestamp
object containing, frame count, delta time of last tick, global simulation time, and OS timestampactor.get_transform()
, don't need to connect with the simulator, which makes these calls quite cheapworld.debug.draw_*
)carla.World
carla.Image
(pixels) and carla.LidarMeasurement
(locations)carla.Vector3D
for (x, y, z) objects that are not a carla.Location
client.ping()
, client.get_server_version()
accomplishes the samecontains_X()
methods to has_X()
client.set_timeout(seconds)
to use seconds (float) instead of millisecondsactor.set_transform()
broken for attached actors-carla-settings
fails to load absolute paths (by @harlowja)-quality-level=Low
double
make check
targetsCARLA 0.9.0
CARLA 0.8.4
CARLA 0.8.3
CARLA 0.8.2