Skip to content
CARLA 0.9.14

  * Fixed bug in FrictionTrigger causing sometimes server segfault
  * Added attachment type "SpringArmGhost" for cinematic cameras but without doing the collision test.
  * Improved algorithm to move signals out of the road by computing the desired displacement direction.
  * Added `TrafficManager.vehicle_lane_offset(actor, offset)` and `TrafficManager.global_lane_offset(offset)` methods.
  * Some of the warnings shown when building a map will now only be showing when debugging.
  * The ids for semantic segmentation has been modified to be the same as cityscapes (labels, ids and colors)
  * Fixed bug causing traffic signals at the end points of a road to sometimes create malformed waypoints.
  * Fixed pedestrian skeleton frame, where sometimes it was draw displaced from the body
  * Fixed decals when importing maps. It was using other .json files found in other packages.
  * In multi-GPU mode some sensors now are forced to be created on the primary server always (ex. collision sensor)
  * Added the speed limits for 100, 110 and 120 Km/h.
  * Fixing sensor destruction, now the stream and socket is succesfully destroyed.
  * Fixed bug at `Vehicle.get_traffic_light_state()` and `Vehicle.is_at_traffic_light()` causing vehicles to temporarily not lose the information of a traffic light if they moved away from it before it turned green.
  * Changed the height of the automatic spawn points, from 3m to only 0.5m
  * Added pedestrian skeleton to the recorder, as additional data. They will replay with the exact pose.
  * Added multi-GPU feature. Now several servers (with dedicated GPU) can render sensors for the same simulation.
  * Fixed bug causing the `Vehicle.get_traffic_light_state()` function not notify about the green to yellow and yellow to red light state changes.
  * Fixed bug causing the `Vehicle.is_at_traffic_light()` function to return *false* if the traffic light was green.
  * Fixed bug causing the scene lights to return an incorrect location at large maps.
  * Fixed bug causing the `world.ground_projection()` function to return an incorrect location at large maps.
  * Added failure state to vehicles, which can be retrieved by using `Vehicle.get_failure_state()`. Only Rollover failure state is currently supported.
  * Fixed bug causing the TM to block the simulation when a vehicle with no physics was teleported.
  * Fixed bug causing the TM to block the simulation when travelling through a short roads that looped on themselves.
  * Improved the TM's handling of non signalized junctions, resulting in a more fluid overall behavior.
  * Added check to avoid adding procedural trigger boxes inside intersections.
  * Python agents now accept a carla.Map and GlobalRoutePlanner instances as inputs, avoiding the need to recompute them.
  * Python agents now have a function to lane change.
  * Python agents now detect vehicle in adjacent lanes if invaded due to the offset.
  * Fixed bug causing the python agents to sometimes not detect a blocking actor if there were severral actors around it.
  * Improved Python agents performance for large maps.
  * Fix a bug at `Map.get_topology()`, causing lanes with no successors to not be part of it.
  * Added new ConstantVelocityAgent
  * Added new parameter to the TrafficManager, `set_desired_speed`, to set a vehicle's speed.
  * Added 4 new attributes to all vehicles:
    - `base_type` can be use as a vehicle classification. The possible values are  *car*, *truck*, *van*, *motorcycle* and *bycicle*.
    - `special_type` provides more information about the vehicle. It is currently restricted to *electric*, *emergency* and *taxi*, and not all vehicles have this attribute filled.
    - `has_dynamics_doors` can either be *true* or *false* depending on whether or not the vehicle has doors that can be opened using the API.
    - `has_lights` works in the same way as *has_dynamic_doors*, but differentiates between vehicles with lights, and those that don't.
  * Added native ackermann controller:
    - `apply_ackermann_control`:  to apply an ackermann control command to a vehicle
    - `get_ackermann_controller_settings`: to get the last ackermann controller settings applied
    - `apply_ackermann_controller_settings`: to apply new ackermann controller settings
  * Fixed bug causing the Traffic Manager to not be deterministic when using hybrid mode
  * Added `NormalsSensor`, a new sensor with normals information
  * Added support for N wheeled vehicles
  * Added support for new batch commands ConsoleCommand, ApplyLocation (to actor), SetTrafficLightState
  * Added new API function: `set_day_night_cycle` at the LightManager, to (de)activate the automatic switch of the lights when the simulation changes from day to night mode, and viceversa.
  * Switch to boost::variant2 for rpc::Command as that allows more than 20 RPC commands
  * Added post process effects for rainy and dusty weathers.
  * Switched data type of the dust storm weather parameter from bool to float.
  * Check for the version of the installed Clang compiler during build.
  * Added API function to get direct access to the GBuffer textures of a sensor:
    - `listen_to_gbuffer`: to set a callback for a specific GBuffer texture