carla/CHANGELOG.md

1097 lines
67 KiB
Markdown
Raw Normal View History

2023-01-13 23:28:50 +08:00
## Latest
2023-02-01 18:00:25 +08:00
* Fixed bug causing the TM's unstuck logic to incorrectly remove the vehicles in some situations.
2023-01-13 23:28:50 +08:00
* Fixed the extra data in Directx textures, so we need to copy row by row on Windows to remove extra bytes on images
2023-06-06 17:31:57 +08:00
* Fixed sensors to check for the stream to be ready (race condition)
* Added empty actor
2023-04-26 19:21:49 +08:00
* The spectator will be used to load tiles and actor in Large Maps when no other actors with the rolename 'ego_vehicle' or 'hero' are present. Added the `spectator_as_ego` to the `carla.WorldSettings()` to allow users to disable this behavior.
* Fixed the import script, where could use any other TilesInfo.txt if the destination folder has many
2023-01-18 01:13:32 +08:00
* Restored gamma value to 2.2 instead of 2.4
* Pedestrians with AI or in replayer are now faster around 10x. They have collisions disabled until they hit a vehicle.
* Added API function to avoid replaying the spectator
* `Client.set_replayer_ignore_spectator(bool)`
* `start_replaying.py` using flag `--move-spectator`
* Surface non-unity build mode by passing ARGS=--no-unity to make; allows IWYU-type errors to be unmasked and fixed.
2023-03-01 03:30:32 +08:00
* Added maps, vehicles, pedestrians and props catalogues to the documentation
* Add keyword arguments for `carla.TrafficManager` Python API functions
* Fixed bug causing the `FPixelReader::SavePixelsToDisk(PixelData, FilePath)` function to crash due to pixel array not set correctly.
2023-04-26 19:21:49 +08:00
* Collisions detected by the CollisionSensor no longer generate more than one event per frame.
2023-01-13 23:28:50 +08:00
2022-12-23 17:57:59 +08:00
## CARLA 0.9.14
2021-12-16 21:51:17 +08:00
2023-01-18 23:14:38 +08:00
* Fixed tutorial for adding a sensor to CARLA.
* Fixed bug in FrictionTrigger causing sometimes server segfault
2022-09-28 14:43:03 +08:00
* Added attachment type "SpringArmGhost" for cinematic cameras but without doing the collision test.
2022-08-16 18:14:55 +08:00
* Improved algorithm to move signals out of the road by computing the desired displacement direction.
2022-07-19 17:39:24 +08:00
* Added `TrafficManager.vehicle_lane_offset(actor, offset)` and `TrafficManager.global_lane_offset(offset)` methods.
2022-07-12 15:44:16 +08:00
* 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)
2022-06-27 22:31:56 +08:00
* Fixed bug causing traffic signals at the end points of a road to sometimes create malformed waypoints.
2022-11-22 23:41:38 +08:00
* Fixed pedestrian skeleton frame, where sometimes it was draw displaced from the body
2022-07-15 22:09:32 +08:00
* 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)
2022-06-27 22:31:56 +08:00
* Added the speed limits for 100, 110 and 120 Km/h.
2022-07-21 19:45:54 +08:00
* 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.
2022-09-14 19:46:29 +08:00
* Changed the height of the automatic spawn points, from 3m to only 0.5m
2022-11-25 22:50:12 +08:00
* Added pedestrian skeleton to the recorder, as additional data. They will replay with the exact pose.
2022-07-18 16:36:41 +08:00
* 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.
2022-05-24 17:00:51 +08:00
* Fixed bug causing the scene lights to return an incorrect location at large maps.
2022-05-23 19:48:27 +08:00
* 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.
2022-05-16 20:31:36 +08:00
* 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.
2022-05-05 18:13:18 +08:00
* Added check to avoid adding procedural trigger boxes inside intersections.
2022-05-02 18:43:40 +08:00
* Python agents now accept a carla.Map and GlobalRoutePlanner instances as inputs, avoiding the need to recompute them.
2022-05-09 17:00:16 +08:00
* Python agents now have a function to lane change.
2022-08-12 16:24:27 +08:00
* Python agents now detect vehicle in adjacent lanes if invaded due to the offset.
2022-12-02 20:28:42 +08:00
* Python agents now have the offset exposed.
2022-10-11 19:51:35 +08:00
* 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.
2022-04-20 22:44:12 +08:00
* 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.
2022-02-08 20:25:52 +08:00
* 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
2021-12-16 21:51:17 +08:00
* Fixed bug causing the Traffic Manager to not be deterministic when using hybrid mode
2022-01-26 18:51:35 +08:00
* Added `NormalsSensor`, a new sensor with normals information
2022-01-31 17:40:43 +08:00
* 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
2022-04-05 05:11:04 +08:00
* Added post process effects for rainy and dusty weathers.
* Switched data type of the dust storm weather parameter from bool to float.
2022-04-26 02:09:12 +08:00
* Check for the version of the installed Clang compiler during build.
Merge GBuffer features. (#5960) * Add Misc/GBuffer * Add EnqueueRenderSceneImmediateWithGBuffer. * Modified ASceneCaptureSensor to allow gbuffer recording. * Minor GBuffer progress. * More GBuffer changes. * Removed unnecessary files. * Add FRHITexture* functions to FPixelReader + temporarily disabled non-gbuffer rendering in ASceneCaptureSensor. * Add missing FPixelReader functions. * Minor changes (Switching to Windows). * Remove FRHITexture functions from FPixelReader, added the file ImageUtil. * Remove FRHITexture functions from FPixelReader, added the file ImageUtil. (2) * Added API to listen GBuffer data. * Added gbuffer serializer classes * Temporarily remove ViewRect hack. * Add USceneCaptureComponent* derived classes. * Disable USceneCaptureComponent*_CARLA and add initial FRHIGPUTextureReadBack-based code. * Fix and re-enable custom SceneCaptureComponents. * Fully switch to FRHIGPUTextureReadback. * Remove unnecessary call to FlushRenderingCommands. * Minor API changes. * Add support for PF_DepthStencil in ImageUtil. * More API progress... * More API progress... (2) * Removed testing code. * Minor changes for testing. * GBuffer API fixes. * Improve GBuffer capture code. * Fixed SceneDepth transfer issues and added SceneStencil, CustomDepth and CustomStencil to the GBuffer capture. * Fix compilation error due to the usage of C++17 features. * Removed major memory leak and added manual_control_gbuffer.py. * Fixed a silly mistake. * Minor changes to manual_control_gbuffer and SceneCaptureSensor. * Fix compilation error on some versions of Ubuntu. * Disable TAA when reading GBuffers to avoid jitter. * Improve memory usage. * Progress towards automatically detecting when a GBuffer stream is unused. * Fix includes in SceneCaptureSensor + minor change in manual_control_gbuffer.py * Progress on automatically detecting which GBuffers aren't needed. * Remove unneeded __declspec. * Revert ASensor changes + fix tutorial_gbuffer.py * Update CHANGELOG.md * Apply requested changes for the PR, add gitignore for the file OptionalModules.ini and add a GBufferTextureID enum to the Python API. * Remove OptionalModules.ini. * Fix indentation. * Fix indentation (2). * Fix indentation (3). * Add documentation and more indentation fixes. * Remove commented includes. * Add missing line break. * Fix memory leak + remove unneeded files. * Add .uproject again, fix EngineAssociation. * Remove unneeded ENQUEUE_RENDER_COMMAND. * Fix manual_control_gbuffer.py. * Add `stop_gbuffer` to the Python API. * Minor fixes. * Fix performance bug. Previously, when a client requested a gbuffer that is unused it would stay open, even after stopping it explicitly. This commit fixes this issue. * Fix indentation. * Add missing braces, more indentation fixes and simplify some of the code. * Update sensor.yml docs. * Update docs. * Remove unnecessary UE_Log + changed one verbosity level. Co-authored-by: Axel <axellopez92@outlook.com> Co-authored-by: Axel1092 <35765780+Axel1092@users.noreply.github.com>
2022-11-29 18:24:26 +08:00
* 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
2021-12-16 21:51:17 +08:00
2021-11-10 22:01:06 +08:00
## CARLA 0.9.13
* Added new **instance aware semantic segmentation** sensor `sensor.camera.instance_segmentation`
2021-11-08 19:54:36 +08:00
* Added new API classes: `MaterialParameter`, `TextureColor` and `TextureFloatColor` to encode texture data and field (normal map, diffuse, etc)
2021-11-10 22:01:06 +08:00
* Added new API functions: `apply_color_texture_to_object`, `apply_float_color_texture_to_object` and `apply_textures_to_object` to paint objects in **runtime**
* Added the option for users to set a **route** using RoadOption elements to a vehicle controlled by the Traffic Manager.
* **Cache** now has an extra folder with current version of CARLA (so different cache per version)
* Added **set_percentage_random_left_lanechange** and **set_percentage_random_right_lanechange**.
* Improved handling of **collisions** in Traffic Manager when driving at **very high speeds**.
* Added physical simulation to **vehicle doors**, capable of opening and closing
* Added **open/close doors** feature for vehicles.
* Added API functions to **3D vectors**: `squared_length`, `length`, `make_unit_vector`, `dot`, `dot_2d`, `distance`, `distance_2d`, `distance_squared`, `distance_squared_2d`, `get_vector_angle`
* Added API functions to **2D vectors**: `squared_length`, `length`, `make_unit_vector`
* Added a **seed** for better reproducibility of pedestrians
- New API function `set_pedestrians_seed`
- New parameter **--seedw** in generate_traffic.py script
2021-11-10 22:01:06 +08:00
* Added missing dependency `libomp5` to **Release.Dockerfile**
* Added API functions to interact with **pedestrian bones**:
2021-11-04 20:55:16 +08:00
- `get_bones / set_bones`: to get/set the bones of a pedestrian
- `blend_pose`: to blend a custom pose with current animation
- `show_pose / hide_pose`: to show or hide the custom pose
- `get_pose_from_animation`: to set the custom pose with the animation current frame
2021-11-10 22:01:06 +08:00
* Added a new script in **PythonAPI/examples/draw_skeleton.py** to draw the bones of a pedestrian from client side
* Improved **collision** detection of the Python agents
* Added the new **VehicleLightStage** to the Traffic Manager to dynamically update the vehicle lights.
* Added two new examples to **PythonAPI/util**: Conversion of OpenStreetMaps to OpenDRIVE maps `osm_to_xodr.py` and Extraction of map spawn points `extract_spawn_points.py`
* Fixed the **import of props** without any map
* Fixed **global route planner** crash when being used at maps without lane markings
* Fixed bug causing the server to **sigsegv** when a vehicle collides an environment object in recording mode.
* Fixed **RSSSensor**: made client side calculations threaded
* Fixed **keep_right_rule** parameter.
2021-07-30 19:12:28 +08:00
## CARLA 0.9.12
2021-05-27 22:09:42 +08:00
* Changed the resolution of the cached map in Traffic Manager from 0.1 to 5 meters
* Fixed import sumo_integration module from other scripts
2021-07-15 15:16:03 +08:00
* CARLA now is built with Visual Studio 2019 in Windows
2021-01-27 18:09:17 +08:00
* Fixed bug causing the RoadOptions at the BehaviorAgent to not work as intended
2021-02-24 06:34:21 +08:00
* Upgrading to Unreal Engine 4.26
2021-07-28 23:49:31 +08:00
* Added generation attribute to vehicles and pedestrians
2021-02-18 01:39:19 +08:00
* Added Lincoln 2020 vehicle dimensions for CarSim integration
2021-03-31 02:56:46 +08:00
* Enabling the **no_delay** option to RPC and stream sockets
2021-04-15 17:17:37 +08:00
* The special nomenclature to define roads (ROAD_ROAD), sidewalks (ROAD_SIDEWALK)... can be at any position of the asset name
2021-02-18 16:28:48 +08:00
* Improved performance bencharmark script: sync, map and sensor selection, ...
* Improved performance, destroyed PhysX state for vehicles when physics are disable
2021-04-10 00:15:10 +08:00
* Improved parallelism of raycast sensors in system with large number of cores
2021-02-18 16:28:48 +08:00
* Added 'visualize_multiple_sensors' example
* Added 'check_lidar_bb' util script
2021-04-01 17:29:28 +08:00
* Added optional flag to `client.replay_file()` `replay_sensors` to enable or disable the replaying the sensors
2021-02-18 16:28:48 +08:00
* Improved manual_control: now cameras are set in relation with car size
2021-07-01 16:30:33 +08:00
* Client required files are sent from the server to a local cache (OpenDRIVE, Traffic Manager...)
2021-03-01 23:56:31 +08:00
* Added CHRONO library for vehicle dynamics simulation (https://projectchrono.org/)
- Supported JSON vehicle definition
- Unsupported collision dynamics
* Added performance benchmarking section to documentation
2021-04-21 22:19:48 +08:00
* Added API functions to traffic light actor `get_effect_waypoints()`, `get_light_boxes()` and `get_opendrive_id()`
2021-07-28 17:33:35 +08:00
* Added API functions to world `get_traffic_lights_from_waypoint()`, `get_traffic_lights_in_junction` and `get_traffic_light_from_opendrive_id`
* Added API parameters to `WorldSettings`: `tile_stream_distance` and `actor_active_distance`
* Added API parameters and functions to `Osm2OdrSettings`: `proj_string`, `center_map`, `generate_traffic_lights`, `all_junctions_with_traffic_lights`, `set_osm_way_types`, and `set_traffic_light_excluded_way_types`
2021-07-14 16:44:52 +08:00
* Added API function to enable car telemetry
2021-01-29 17:48:35 +08:00
* CARLA is compatible with the last RoadRunner nomenclature for road assets
* Fixed a bug when importing a FBX map with some **_** in the FBX name
2021-04-12 22:55:45 +08:00
* Extended make import process for applying road painter materials (carla art tool)
2021-07-28 17:33:35 +08:00
* Added Large Map feature to CARLA, alowing to import large maps divided in square tiles (at most 2kmx2km per tile). Only section of a Large Map can be loaded at a time which introduces a sleep state for actors that are far away from the hero vehicle
2021-04-12 22:55:45 +08:00
* Added creation of custom JSON file for applying decals to imported roads
2021-06-28 18:44:36 +08:00
* Added ApplyVehiclePhysicsControl to commands
* Added flush in the sublevel loading to increase carla's determinism in Opt maps
2021-03-13 00:07:37 +08:00
* Fix bug in carla.Transform.get_up_vector()
2021-04-08 22:54:44 +08:00
* Fix bug in lidar channel point count
2021-04-23 19:01:50 +08:00
* Fix imu: some weird cases were given nan values
2021-04-20 17:50:14 +08:00
* Fix bugs in apply_physics_control and friction trigger
2021-07-29 20:49:43 +08:00
* Exposed tire parameters for longitudinal and lateral stiffness in the PhysicsControl.
2021-03-13 00:07:37 +08:00
* When setting a global plan at the LocalPlanner, it is now optional to stop the automatic fill of the waypoint buffer
* Improved agent's vehicle detection to also take into account the actor bounding boxes
* Added Optical Flow camera
* API extensions:
- Added `set_wheel_steer_direction()` function to change the bone angle of each wheel of a vehicle
2021-06-10 22:23:09 +08:00
- Added `get_wheel_steer_angle()` function to get the steer angle of a vehicle wheel
- Added `scattering_intensity` , `mie_scattering_scale` , `rayleigh_scattering_scale` to PythonAPI for changing weather attributes
2021-07-29 20:49:43 +08:00
- Improved the python agents API. Old behaviors have been improved and new ones have also been added, improving the functionalities of the agents. Several bugs have also been fixed
2021-01-27 18:09:17 +08:00
2020-12-22 23:26:04 +08:00
## CARLA 0.9.11
* Improved the documentation for use with pandoc tool by converting html tags to their markdown equivalent
* Refactored FAQ section of docs to use minimal html and fix broken layout
2020-12-22 23:26:04 +08:00
* Extended the local planner with a lateral `offset`
* Upgraded to DirectX 12 on Windows
2020-12-15 02:23:32 +08:00
* Added the new core pipeline for the simulator
2020-12-22 23:26:04 +08:00
* Added parameter to carla settings to control culling
* Added fully deterministic option for Traffic Manager, sorting vehicles by ID and avoiding race conditions
2020-11-23 18:56:55 +08:00
* Added the option to sweep the wheel shape for collision. This requires to patch the engine
2020-11-04 01:07:18 +08:00
* Added the possibility of changing physics substepping options from client
2020-11-05 21:53:57 +08:00
* Added 'noise_seed' to sensors to initialize the random generators
2020-10-09 18:18:48 +08:00
* API extensions:
- Added `actor.set_enable_gravity()` function to enable/disable the gravity affecting the actor
2020-12-22 23:26:04 +08:00
- 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
2020-10-09 18:18:48 +08:00
* Fixed bug on Windows causing sun reflection artifacts
* Fixed bug in `waypoint.get_landmarks()` causing some landmarks to be missed when s = 0
2020-10-09 18:18:48 +08:00
* Fixed the `actor.set_simulate_physics()` for pedestrians and vehicles
* Fixed bug causing camera-based sensors to stop sending data
2020-11-05 21:53:57 +08:00
* Fixed the lack of determinism on the output of raycast sensors
* Fixed missing `laneChange` record in converted OSM maps
2020-11-04 01:07:18 +08:00
* Fixed bug in the actor's id returned by the semantic lidar
* Fixed error when using `--config` parameter in `make package`
2020-10-09 18:18:48 +08:00
* 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` encoding
2020-10-15 21:58:04 +08:00
2020-08-01 05:00:20 +08:00
## CARLA 0.9.10
2020-09-26 03:15:47 +08:00
* Added retrieval of bounding boxes for all the elements of the level
* Added deterministic mode for Traffic Manager
* Added support in Traffic Manager for dead-end roads
* Upgraded CARLA Docker image to Ubuntu 18.04
2020-09-01 20:55:27 +08:00
* Upgraded to AD RSS v4.1.0 supporting unstructured scenes and pedestrians, and fixed spdlog to v1.7.0
2020-07-09 17:02:39 +08:00
* Changed frozen behavior for traffic lights. It now affects to all traffic lights at the same time
2020-09-26 03:15:47 +08:00
* Added new pedestrian models
* API changes:
- Renamed `actor.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`)
2020-09-26 03:15:47 +08:00
* Added a warning when using SpringArm exactly in the 'z' axis of the attached actor
* Improved performance of raycast-based sensors through parallelization
2020-07-08 21:24:35 +08:00
* Added an approximation of the intensity of each point of the cloud in the LiDAR sensor
2020-04-29 00:12:22 +08:00
* Added Dynamic Vision Sensor (DVS) camera based on ESIM simulation http://rpg.ifi.uzh.ch/esim.html
2020-06-18 21:12:58 +08:00
* Improved LiDAR and radar to better match the shape of the vehicles
* Added support for additional TraCI clients in Sumo co-simulation
2020-09-26 03:15:47 +08:00
* 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
2020-05-22 18:17:38 +08:00
* Added parameter to enable/disable pedestrian navigation in standalone mode
2020-09-26 03:15:47 +08:00
* Improved mesh partition in standalone mode
2020-07-08 21:24:35 +08:00
* Added Renderdoc plugin to the Unreal project
2020-09-26 03:15:47 +08:00
* 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<float>::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 LiDARs 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 sizes
2020-04-23 18:47:42 +08:00
## CARLA 0.9.9
2020-03-13 19:57:09 +08:00
Hybrid mode for Traffic Manager (#2674) * Improved braking, collision negotiation. * Improved braking algorithm for smoother approach to lead vehicle. * Implemented smoother path boundary modification to aid smoother braking. * Re-worked collision negotiation algorithm. * Improved collision candidate filtering. * Added safe-guard in case of vehicle removal in collision stage. * Used local variable for heavily referenced object in localization stage. * Implemented vector relative velocities for motion planner's collision consideration. * Moved collision candidate sorting logic from collision stage to localization stage. * Sorting collision candidates using their ids instead of shared pointers to avoid memory corruption. * Improved conditions for collision consideration for greater efficiency. * Removed fps limit in async mode. * Hybrid physics mode * Introduced hybrid physics mode parameter * Implemented physics independent velocity computation * Modified localization stage to be physics agnostic * Fixing velocity compute interval in sync and async mode. Made motion planner stage work with internally computed velocities. * Made collision stage agnostic to actor physics * Sampling waypoint buffer for teleportation window * WIP: Teleportation changes * WIP2: Teleportation changes * Fixes waypoint window and vehicle spawning * hotfix to performance benchmark * comment out debugs * changelog * fixes collision bug * fixes package error and out_of_range bug * changes after review * Left & Right Transit of a lane: Waypoint mapping Co-authored-by: Praveen Kumar <pravinblaze@hotmail.com> Co-authored-by: Soumyadeep <soumyadeep.dhar@kpit.com>
2020-03-31 04:53:29 +08:00
* Introduced hybrid mode for Traffic Manager
2020-03-20 18:51:52 +08:00
* Upgraded to Unreal Engine 4.24
2020-03-13 19:57:09 +08:00
* Fixed autonomous agents' incorrect detection of red traffic lights affecting them
2020-03-10 22:10:35 +08:00
* Improved manual_control by adding realistic throttle and brake
2020-04-09 01:54:00 +08:00
* Added walkable pedestrian crosswalks in OpenDRIVE standalone mode
* Improved mesh generation with a chunk system for better performance and bigger maps in the future
2020-03-31 16:57:40 +08:00
* Added security features to the standalone OpenDRIVE mode aiming to prevent cars from falling down from the road
* Added junction smoothing algorithm to prevent roads from blocking other roads with level differences
2020-03-10 22:10:35 +08:00
* Added new Behavior agent
2020-03-28 00:21:13 +08:00
* Added automatic generation of traffic lights, stop signal and yield signal from OpenDRIVE file
* Upgraded to AD RSS v3.0.0 supporting complex road layouts and i.e. intersections
2020-03-30 21:28:54 +08:00
* Added examples of sumo co-simulation for Town01, Town04 and Town05
2020-03-30 22:27:29 +08:00
* Added ptv vissim and carla co-simulation
2020-04-21 23:00:37 +08:00
* Fixed `GetLeftLaneMarking()` from a possible runtime error
* API extensions:
- Added new methods to `Map`: `get_all_landmarks`, `get_all_landmarks_from_id` and `get_all_landmarks_of_type`
2020-04-10 01:32:40 +08:00
* Added synchronization of traffic lights in sumo co-simulation
* Added light manager to control the lights of the map
2020-03-13 19:57:09 +08:00
2020-03-06 22:04:53 +08:00
## CARLA 0.9.8
2020-02-19 21:46:56 +08:00
2020-03-10 22:10:35 +08:00
* Added beta version sumo-carla co-simulation
Doterop/traffic manager (#2468) * Initial implementation of t.m. performance script * Remove redundant getLocation() calls * Demo for inter-client communication via Carla server * WIP: To do: For client usage needed to be changed. * Instead or client instance episodeProxy is passed to TM * Instead or client instance episodeProxy is passed to TM * parmeter improvements (walkers,cars,signs,lights) * adding section id to map setup * fix manual_control to reload car with autopilot on * Instead of client instance episodeProxy is passed to TM. * WIP: Only added vehicle register via RPC server / client call in TM to local instance from remote instance. Similarly other APIs we need to added. * Added all TM APIs * carla client now can provide TM instance if required. * While getting TM instance if server given data is not valid new TM instace is created. Need to decide what to do with earlier registed vehicle with previous TM. * Updated with HealthCheckRemoteTM() function to check TM server status instead of ResetAllTrafficLights() for any new user client. * Dynamic port selection added to TM server instace (in case of multiple TM serve run, it required). * Fixed change map error * If registered TM at carla server is not present then remote TM should be freed and new local TM instance is created. * Created Process for Local TM. It cheaks with total registered vehicles in it, if no register vehicles for 5 sec, it closes it self. In python spawn_npc.py Client Timeout set to 10 sec. as creating Process is system dependent call and takes time. User has to unregister vehicle before destroying it (if activated with TM). Also neet to check TM unregister function to remove vehicles from register list. * Fix for collision ignore bug * Update TM exit function check to compare registered vehicles with world actors that if any valid vehicle present cointinue to run the TM else stop. * Print removal * Splited work of main for loop in ApplyBatchCommandsSync * WIP! Trying to get client directly * WIP! Trying to access episode properly without getting it from TM ctr * Changes to BatchControlStage for Sync Mode Changes to Parameters for Synch Mode * Added port support for TM. Multiclient MultiTM * Added additions for RPC Synchronous Tick to TM. Error handeling and code organization. * Exposed API for Sync Mode * TMServer notifies Server that it is gonna be destroyed * Exposed Python API for Sync Mode * Add TM as separate process and synchronous tick calls * SetSynchronousModeTimeOutInMiliSecond method added * TM shutsdown and informs to the connected clients * WIP! Map change issues again * Updated Traffic Manager for: 1) Multi-client, Multi-TM (as required) can be reistered to server. 2) TM is not a PROCESS separated from the user-client. 3) TM will exit if user-client exit. 4) If server closed, TM also get closed by catching runtime err. * Server side changes ... * Fixed possible stall on TM destruction * fixing collision stage + cybertruck not safe * Merge branch 'master' into 'soumyadeep/traffic_manager' * WIP! Disconnection of server has to be properly handled by clients * format update * Fix bug unsignalized junctions * # WARNING: head commit changed in the meantime Merge branch 'doterop/traffic_manager' into soumyadeep/traffic_manager Updates for Syncronized Tick. * Updated runtime exception in Episode for smooth exit if TN server closed for any other user client. * Better Exception handeling * Merged with jackbart94/tm_reduce_getloc_calls * Merged soumyadeep/traffic_manager. Removed World getter and recovered Episode as a parameter of TM ctr. Fixed syntax errors. * Initial implementation of t.m. performance script * Remove redundant getLocation() calls * Demo for inter-client communication via Carla server * WIP: To do: For client usage needed to be changed. * Instead or client instance episodeProxy is passed to TM * Instead or client instance episodeProxy is passed to TM * parmeter improvements (walkers,cars,signs,lights) * fix manual_control to reload car with autopilot on * Instead of client instance episodeProxy is passed to TM. * WIP: Only added vehicle register via RPC server / client call in TM to local instance from remote instance. Similarly other APIs we need to added. * Added all TM APIs * carla client now can provide TM instance if required. * While getting TM instance if server given data is not valid new TM instace is created. Need to decide what to do with earlier registed vehicle with previous TM. * Updated with HealthCheckRemoteTM() function to check TM server status instead of ResetAllTrafficLights() for any new user client. * Dynamic port selection added to TM server instace (in case of multiple TM serve run, it required). * Fixed change map error * If registered TM at carla server is not present then remote TM should be freed and new local TM instance is created. * Created Process for Local TM. It cheaks with total registered vehicles in it, if no register vehicles for 5 sec, it closes it self. In python spawn_npc.py Client Timeout set to 10 sec. as creating Process is system dependent call and takes time. User has to unregister vehicle before destroying it (if activated with TM). Also neet to check TM unregister function to remove vehicles from register list. * Fix for collision ignore bug * Update TM exit function check to compare registered vehicles with world actors that if any valid vehicle present cointinue to run the TM else stop. * Splited work of main for loop in ApplyBatchCommandsSync * WIP! Trying to get client directly * WIP! Trying to access episode properly without getting it from TM ctr * Changes to BatchControlStage for Sync Mode Changes to Parameters for Synch Mode * Added port support for TM. Multiclient MultiTM * Added additions for RPC Synchronous Tick to TM. Error handeling and code organization. * Exposed API for Sync Mode * TMServer notifies Server that it is gonna be destroyed * Exposed Python API for Sync Mode * Add TM as separate process and synchronous tick calls * SetSynchronousModeTimeOutInMiliSecond method added * TM shutsdown and informs to the connected clients * WIP! Map change issues again * Updated Traffic Manager for: 1) Multi-client, Multi-TM (as required) can be reistered to server. 2) TM is not a PROCESS separated from the user-client. 3) TM will exit if user-client exit. 4) If server closed, TM also get closed by catching runtime err. * Fixed possible stall on TM destruction * fixing collision stage + cybertruck not safe * Merge branch 'master' into 'soumyadeep/traffic_manager' * WIP! Disconnection of server has to be properly handled by clients * format update * Fix bug unsignalized junctions * # WARNING: head commit changed in the meantime Merge branch 'doterop/traffic_manager' into soumyadeep/traffic_manager Updates for Syncronized Tick. * Updated runtime exception in Episode for smooth exit if TN server closed for any other user client. * Better Exception handeling * Merged with jackbart94/tm_reduce_getloc_calls * Merged soumyadeep/traffic_manager. Removed World getter and recovered Episode as a parameter of TM ctr. Fixed syntax errors. * Rebased with master * Changes after rebase * Solving tab errors * Updated Changelog * Removing Destroyed vehicle's from TM Server * Fixed uint compatibility with Windows * Merged soumyadeep/traffic_manager. Discarded destroyed actors * -Removed unnecessary files * restoring docs from rebase * Fix windows compilation * refactoring stage-related code * more code refactoring * When map change the simulation doesn't throw exception anymore * Fixed incorrect episode * Fixed map change and TM remote detached thread destruction * Syntax and comments fixes * Missed change on previous commit * Fixed compile minor compile issue * Cleaned and fixed some issues after merge * fix to sync localization bugs modified PID parameters revamping spawn_npc * deleted tm_spawn_npc * fixes spawn error in sync mode * Redoing TM sync logic * finished performance benchmark for tm * deprecated wrapped methods: register_vehicle unregister_vehicle * New TM management * Fixed sync mode on TM * Cleaned TM of prints and unussed functions * collision stage checks for (0,0,0) to ignore. in memory map has an # between keys to avoid possible mixup. fixed spawn_npc with new sync mode * changelog * added more connection retries * fixed changelog + comments (see reviewable) * Moved socket include's to single header * Added missing line at the end of the file * Fixed syntax errors * final commit * Minor correction in comment * update copyright year to 2020 + removed break * restoring unwanted changes * patch for smoke test error * Removed "todo" for pylint Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com> Co-authored-by: Praveen Kumar <35625166+pravinblaze@users.noreply.github.com> Co-authored-by: Soumyadeep <soumyadeep.dhar@kpit.com> Co-authored-by: joel-mb <joel.moriana@gmail.com> Co-authored-by: Sekhar Barua <58979936+sekhar2912@users.noreply.github.com> Co-authored-by: bernat <bernatx@gmail.com> Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
2020-02-29 02:58:13 +08:00
* Traffic Manager:
- Added benchmark
- Added synchronous mode
- Fixed change map error
- Added multiclient architecture
- Added multi Traffic Manager architecture
- Fixed linkage between waypoints
- Implemented intersection anticipation
- Implemented vehicle destruction when stuck
- Implemented tunable parameters
2020-03-06 21:32:21 +08:00
- Revamped lane changes
2020-03-10 22:10:35 +08:00
* Added landmark class for signal-related queries
* Added support to parse OpenDRIVE signals
* Added junction class as queryable object from waypoint
* Added timeout to World Tick
2020-02-28 01:09:16 +08:00
* Added simple physical map generation from standalone OpenDRIVE data
2020-03-05 01:51:48 +08:00
* Added support for generating walker navigation on server-side
2020-02-01 01:23:51 +08:00
* Added support for new geometry: `spiral`, `poly3`, and `paramPoly3`
2020-02-07 19:44:21 +08:00
* Improved `get_waypoint(location)` performance
* New weather system: night time, fog, rain ripples, and now wind affects vegetation and rain (not car physics)
2020-01-11 00:37:59 +08:00
* Fixed Low/Epic quality settings transition
* Enabled Mesh distance fields
* API extensions:
- Added new methods to `BoundingBox`: `contains()`, `get_local_vertices()` and `get_world_vertices(transform)`
2020-02-20 18:15:29 +08:00
- Added new function to get a waypoint specifying parameters from the OpenDRIVE: `map.get_waypoint_xodr(road_id, lane_id, s)`
- Added 3 new parameters for the `carla.Weather`: `fog_density`, `fog_distance`, and (ground) `wetness`
2020-02-28 01:09:16 +08:00
- Added `carla.client.generate_opendrive_world(opendrive)` that loads a map with custom OpenDRIVE basic physical topology
* New python clients:
- `weather.py`: allows weather changes using the new weather parameters
2020-03-10 22:10:35 +08:00
* Fixed docker build of `.BIN` for pedestrian navigation
* Fixed `local_planner.py`: agent will now stop when it reaches the desired destination
2020-02-20 18:15:29 +08:00
* Fixed crash when missing elevation profile and lane offset in OpenDRIVE
* Fixed typos
2020-03-10 22:10:35 +08:00
* Fixed agent failures due to API changes in `is_within_distance_ahead()`
* Fixed assertion bug when using LibCarla
* Fixed incorrect doppler velocity for RADAR sensor
* Fixed documentation links
2019-12-16 01:15:36 +08:00
* Upgraded Boost to 1.72.0
2020-02-06 02:06:43 +08:00
* Recorder feature:
2020-03-10 22:10:35 +08:00
- Added an option `-i` to `start_replaying.py` to replay a session ignoreing the hero vehicles
2020-01-23 16:47:58 +08:00
* Fixed import pipeline bugs:
- Crash when no pedestrian navmesh is present
- Automatically imported static meshes not properly tagged
2020-03-04 02:39:58 +08:00
* Fixed PID controller's sensitivity to time discretization
Glopez/intersection anticipation (#2355) * Windows compatibility changes * Windows compatibility changes pt2 * Updated docs regarding Traffic Manager * Fixed Import folder in gitignore * Namespaces fix * WIP:TM modified to run synchronously with carla * Synchronised all stages of TrafficManager Removed redundant fps cap in BatchControl Tuned PID values for synchronised mode * Fix for LibCarla build error * Fixed collision handling with unregistered actors Fixed buffer data passed from localization stage to collision stage * WIP:Geodesic map gridding * WIP:Integrating geodesic griding with localization and collision stage * Moved unregistered actor handling logic to localization stage Temporary patch for ignoring unregistered actors during lane change Fixes for geodesic gridding logic Added exception handling logic to PipelineStage class Setting simulator back to variable time step asyncrhonous mode in TrafficManager's destructor * Modified PerformanceDiagnostics class to work in synchronous execution * Fixed incorrect overlap vehicle accumulation Implemented geodesic grid centering logic * WIP:Improvements to collision stage throughput * Fixed incorrect memory handoff between stages Modified messenger class to a blocking queue implementation * Seg fault fixes for lane changes * Removed logic for altering world settings from traffic manager Fixed SnippetProfiler to work on multiple snippet Using larger waypoint grids for pedestrian localization * Set timeout for RPC calls to 5 seconds instead of 1 second, to get time to create Traffic Manager if needed * Disable autopilot in server * Fix type int to int64_t for windows compilation * Fixing command batch autopilot * Fix uint to uint64_t for windows * Fix variable type and add parenthesis * Pipeline changes + cleaning syncr changes * Velocity dependent pedestrian bbox extension Removed snippet profiling code from localization stage (cherry picked from commit 4192906e655ad6f7ea48eda8e1a68ed317d67238) * Fixing segmentation fault in AssignLaneChange (cherry picked from commit 57da8b52bcccc359ff3dd27a10261cc724f26203) * Fixed S.F when forcing lane changes (cherry picked from commit db0516c8295bdc15993d9c4e1bec517a927ea33d) * Added UnNotifyWheeledVehicle() * Set some limits to the parameters. * Fixed TM delete process (cherry picked from commit cdd9178f2cbba7cbbc79b389e193517d07ba489e) * Fixed merge error * WIP PID Changes Fixed FPS for PID to 20 Changes to waypoint buffer size * Final PID + Waypoint buffer default settings. * Junction anticipation algorithm * WIP * WIP: merging with carla 0.9.7 * WIP: merging with carla 0.9.7 * WIP: Intersection anticipation algorithm * WIP: Intersection anticipation algorithm * WIP: Intersection anticipation * Intersection Anticipation algorithm (With debugging tools) * Implementation of an intersection anticipation algorithm * Changelog modified * Removed some unused variables * PR Changes * More PR changes * More minor changes * Added some checks to detect failures Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com> Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com> Co-authored-by: Praveen Kumar <35625166+pravinblaze@users.noreply.github.com> Co-authored-by: bernat <bernatx@gmail.com> Co-authored-by: doterop <daniel.oterop@gmail.com>
2020-02-06 03:55:53 +08:00
2019-12-12 01:17:36 +08:00
## CARLA 0.9.7
2020-02-19 21:46:56 +08:00
* Upgraded parameters of Unreal/CarlaUE4/Config/DefaultInput.ini to prevent mouse freeze
* Add build variant with AD RSS library integration with RSS sensor and result visualisation
2019-12-05 07:18:52 +08:00
* Support for OpenGL and Vulkan in docker + headless mode
* Added new sensor: Inertial measurement unit (IMU)
2019-12-09 22:54:53 +08:00
* Added new sensor: Radar
2019-12-12 01:17:36 +08:00
* Exposed rgb camera attributes: exposure, depth of field, tonemapper, color correction, and chromatic aberration
* Now all the camera-based sensors are provided with an additional parametrized lens distortion shader
Doterop/traffic manager (#2468) * Initial implementation of t.m. performance script * Remove redundant getLocation() calls * Demo for inter-client communication via Carla server * WIP: To do: For client usage needed to be changed. * Instead or client instance episodeProxy is passed to TM * Instead or client instance episodeProxy is passed to TM * parmeter improvements (walkers,cars,signs,lights) * adding section id to map setup * fix manual_control to reload car with autopilot on * Instead of client instance episodeProxy is passed to TM. * WIP: Only added vehicle register via RPC server / client call in TM to local instance from remote instance. Similarly other APIs we need to added. * Added all TM APIs * carla client now can provide TM instance if required. * While getting TM instance if server given data is not valid new TM instace is created. Need to decide what to do with earlier registed vehicle with previous TM. * Updated with HealthCheckRemoteTM() function to check TM server status instead of ResetAllTrafficLights() for any new user client. * Dynamic port selection added to TM server instace (in case of multiple TM serve run, it required). * Fixed change map error * If registered TM at carla server is not present then remote TM should be freed and new local TM instance is created. * Created Process for Local TM. It cheaks with total registered vehicles in it, if no register vehicles for 5 sec, it closes it self. In python spawn_npc.py Client Timeout set to 10 sec. as creating Process is system dependent call and takes time. User has to unregister vehicle before destroying it (if activated with TM). Also neet to check TM unregister function to remove vehicles from register list. * Fix for collision ignore bug * Update TM exit function check to compare registered vehicles with world actors that if any valid vehicle present cointinue to run the TM else stop. * Print removal * Splited work of main for loop in ApplyBatchCommandsSync * WIP! Trying to get client directly * WIP! Trying to access episode properly without getting it from TM ctr * Changes to BatchControlStage for Sync Mode Changes to Parameters for Synch Mode * Added port support for TM. Multiclient MultiTM * Added additions for RPC Synchronous Tick to TM. Error handeling and code organization. * Exposed API for Sync Mode * TMServer notifies Server that it is gonna be destroyed * Exposed Python API for Sync Mode * Add TM as separate process and synchronous tick calls * SetSynchronousModeTimeOutInMiliSecond method added * TM shutsdown and informs to the connected clients * WIP! Map change issues again * Updated Traffic Manager for: 1) Multi-client, Multi-TM (as required) can be reistered to server. 2) TM is not a PROCESS separated from the user-client. 3) TM will exit if user-client exit. 4) If server closed, TM also get closed by catching runtime err. * Server side changes ... * Fixed possible stall on TM destruction * fixing collision stage + cybertruck not safe * Merge branch 'master' into 'soumyadeep/traffic_manager' * WIP! Disconnection of server has to be properly handled by clients * format update * Fix bug unsignalized junctions * # WARNING: head commit changed in the meantime Merge branch 'doterop/traffic_manager' into soumyadeep/traffic_manager Updates for Syncronized Tick. * Updated runtime exception in Episode for smooth exit if TN server closed for any other user client. * Better Exception handeling * Merged with jackbart94/tm_reduce_getloc_calls * Merged soumyadeep/traffic_manager. Removed World getter and recovered Episode as a parameter of TM ctr. Fixed syntax errors. * Initial implementation of t.m. performance script * Remove redundant getLocation() calls * Demo for inter-client communication via Carla server * WIP: To do: For client usage needed to be changed. * Instead or client instance episodeProxy is passed to TM * Instead or client instance episodeProxy is passed to TM * parmeter improvements (walkers,cars,signs,lights) * fix manual_control to reload car with autopilot on * Instead of client instance episodeProxy is passed to TM. * WIP: Only added vehicle register via RPC server / client call in TM to local instance from remote instance. Similarly other APIs we need to added. * Added all TM APIs * carla client now can provide TM instance if required. * While getting TM instance if server given data is not valid new TM instace is created. Need to decide what to do with earlier registed vehicle with previous TM. * Updated with HealthCheckRemoteTM() function to check TM server status instead of ResetAllTrafficLights() for any new user client. * Dynamic port selection added to TM server instace (in case of multiple TM serve run, it required). * Fixed change map error * If registered TM at carla server is not present then remote TM should be freed and new local TM instance is created. * Created Process for Local TM. It cheaks with total registered vehicles in it, if no register vehicles for 5 sec, it closes it self. In python spawn_npc.py Client Timeout set to 10 sec. as creating Process is system dependent call and takes time. User has to unregister vehicle before destroying it (if activated with TM). Also neet to check TM unregister function to remove vehicles from register list. * Fix for collision ignore bug * Update TM exit function check to compare registered vehicles with world actors that if any valid vehicle present cointinue to run the TM else stop. * Splited work of main for loop in ApplyBatchCommandsSync * WIP! Trying to get client directly * WIP! Trying to access episode properly without getting it from TM ctr * Changes to BatchControlStage for Sync Mode Changes to Parameters for Synch Mode * Added port support for TM. Multiclient MultiTM * Added additions for RPC Synchronous Tick to TM. Error handeling and code organization. * Exposed API for Sync Mode * TMServer notifies Server that it is gonna be destroyed * Exposed Python API for Sync Mode * Add TM as separate process and synchronous tick calls * SetSynchronousModeTimeOutInMiliSecond method added * TM shutsdown and informs to the connected clients * WIP! Map change issues again * Updated Traffic Manager for: 1) Multi-client, Multi-TM (as required) can be reistered to server. 2) TM is not a PROCESS separated from the user-client. 3) TM will exit if user-client exit. 4) If server closed, TM also get closed by catching runtime err. * Fixed possible stall on TM destruction * fixing collision stage + cybertruck not safe * Merge branch 'master' into 'soumyadeep/traffic_manager' * WIP! Disconnection of server has to be properly handled by clients * format update * Fix bug unsignalized junctions * # WARNING: head commit changed in the meantime Merge branch 'doterop/traffic_manager' into soumyadeep/traffic_manager Updates for Syncronized Tick. * Updated runtime exception in Episode for smooth exit if TN server closed for any other user client. * Better Exception handeling * Merged with jackbart94/tm_reduce_getloc_calls * Merged soumyadeep/traffic_manager. Removed World getter and recovered Episode as a parameter of TM ctr. Fixed syntax errors. * Rebased with master * Changes after rebase * Solving tab errors * Updated Changelog * Removing Destroyed vehicle's from TM Server * Fixed uint compatibility with Windows * Merged soumyadeep/traffic_manager. Discarded destroyed actors * -Removed unnecessary files * restoring docs from rebase * Fix windows compilation * refactoring stage-related code * more code refactoring * When map change the simulation doesn't throw exception anymore * Fixed incorrect episode * Fixed map change and TM remote detached thread destruction * Syntax and comments fixes * Missed change on previous commit * Fixed compile minor compile issue * Cleaned and fixed some issues after merge * fix to sync localization bugs modified PID parameters revamping spawn_npc * deleted tm_spawn_npc * fixes spawn error in sync mode * Redoing TM sync logic * finished performance benchmark for tm * deprecated wrapped methods: register_vehicle unregister_vehicle * New TM management * Fixed sync mode on TM * Cleaned TM of prints and unussed functions * collision stage checks for (0,0,0) to ignore. in memory map has an # between keys to avoid possible mixup. fixed spawn_npc with new sync mode * changelog * added more connection retries * fixed changelog + comments (see reviewable) * Moved socket include's to single header * Added missing line at the end of the file * Fixed syntax errors * final commit * Minor correction in comment * update copyright year to 2020 + removed break * restoring unwanted changes * patch for smoke test error * Removed "todo" for pylint Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com> Co-authored-by: Praveen Kumar <35625166+pravinblaze@users.noreply.github.com> Co-authored-by: Soumyadeep <soumyadeep.dhar@kpit.com> Co-authored-by: joel-mb <joel.moriana@gmail.com> Co-authored-by: Sekhar Barua <58979936+sekhar2912@users.noreply.github.com> Co-authored-by: bernat <bernatx@gmail.com> Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
2020-02-29 02:58:13 +08:00
* Added Traffic Manager to replace autopilot in managing the NPC vehicles
2019-12-12 01:17:36 +08:00
* Improved pedestrians navigation
* API changes:
- Lidar: `range` is now set in meters, not in centimeters
- Lidar: `horizontal_angle` is now received in radians, not in degrees
- GNSS: `carla.GnssEvent` renamed to `carla.GnssMeasurement`
* API extensions:
- Added `carla.IMUMeasurement`
2019-12-09 22:54:53 +08:00
- Added `carla.RadarMeasurement` and `carla.RadarDetection`
2019-11-20 02:45:59 +08:00
- GNSS data can now be obtained with noise
- IMU data can now be obtained with noise
2019-12-12 01:17:36 +08:00
* Moved GNSS sensor from client to server side
* Added exporter plugin for UE4 to allow export meshes ready for Recast calculation
* The 'make import' process now rename the assets accordingly and set complex collision as simple
* New Python API function added (map.get_crosswalks()) that returns a list with all points that define the crosswalk zones from OpenDRIVE file
* Updated `manual_control.py` with a lens disortion effect example
* Updated `manual_control.py` with IMU and Radar realtime visualization
* Fixed pylint for python3 in travis
2019-11-20 02:45:59 +08:00
* Fixed PointCloudIO `cout` that interfiered with other python modules
* Better steering in manual control
* Added Doxygen documentation online with automatic updates through Jenkins pipeline
* Fixed an error in `automatic_control.py` failing because the `Num Lock` key
* Fixed client_bounding_boxes.py example script
* Fixed materials and semantic segmentation issues regarding importing assets
2019-12-10 18:24:11 +08:00
* Fixed ObstacleSensor to return HitDistance instead of HitRadius
2019-07-11 17:45:03 +08:00
## CARLA 0.9.6
* Upgraded to Unreal Engine 4.22
2019-07-11 17:40:56 +08:00
* Added Vulkan support, if installed, CARLA will use Vulkan, use `-opengl` flag to launch with OpenGL
* The simulator is now compiled in "Shipping" mode, faster but it accepts less command-line arguments
* Pedestrians are back:
- Spawn pedestrians that will roam randomly on sidewalks
- The script 'spawn_npc.py' spawns now pedestrians, adjust the number with the flag `-w`
- Added navigation meshes for each maps for pedestrian navigation
* Allow adding custom props (FBX) to CARLA Blueprint library so they are spawnable
* Simplified pipeline for importing and packaging maps and custom props
* Vehicle physics:
- Added access to vehicle transmission details
- Added access to vehicle physics brake values
- Added tire friction trigger boxes for simulating slippery surfaces
* Added camera gamma correction as command-line argument to manual_control.py
2019-07-11 17:40:56 +08:00
* Added ability to set motion blur settings for RGB camera in sensor python blueprint
* Added C++ client example using LibCarla
* Added PythonAPI documentation generator, we documented in detail all the Python reference
2019-07-12 21:32:13 +08:00
* Added a new Python script config.py that allows the user to configure the simulator from the command-line
* New recorder features:
2019-07-11 17:40:56 +08:00
- Documented recorded system and binary file
- Added optional parameter to show more details about a recorder file (related to `show_recorder_file_info.py`)
2019-07-11 17:40:56 +08:00
- Added playback speed (slow/fast motion) to the replayer
- Allow custom paths for saving the recorded files
- More data is now recorded to replay animations:
+ Wheels of vehicles are animated (steering, throttle, handbrake), also bikes and motorbikes
+ Walker animations are simulated (through speed of walker)
* New high quality pedestrians: female, girl and boy; improved meshes and textures
* More color and texture variations for each pedestrian
* New vehicle Audi Etron: 25.000 tris and LODs
* New material for Mustang, new system that will allow us to improve all the vehicle materials
* Improved vehicle Tesla
* New high-quality "Default" weather tailor-made for each map
* Improved the rest of weather profiles too
* RGB camera improvements:
- Enabled temporal antialiasing and motion blur
- Added gamma value and motion blur as a blueprint attributes
- Enabled texture streaming for scene captures
* API changes:
- Renamed `frame_count` and `frame_number` as `frame`, old members are kept as deprecated
- `world.wait_for_tick()` now returns a `carla.WorldSnapshot`
- The callback of `world.on_tick(callback)` now receives a `carla.WorldSnapshot`
- Deprecated waypoint's `is_intersection`, use `is_junction` instead
* API extensions:
- Added attachment type "SpringArm" for cinematic cameras
- Added waypoint's `junction_id` that returns de OpenDrive identifier of the current junction
- Added `world.get_actor(id)` to find a single actor by id
- Added `carla.WeatherParameters.Default` for the default (tailor-made for each town) weather profile
- Added `WorldSnapshot` that contains a list of `ActorSnapshot`, allows capturings a "still image" of the world at a single frame
- Added `world.tick()` now synchronizes with the simulator and returns the id of the newly started frame
- Added `world.apply_settings(settings)` now synchronizes with the simulator and returns the id of the frame when the settings took effect
- Added `world.remove_on_tick(id)` to allow removing on tick callbacks
- Added allow setting fixed frame-rate from client-side, now is part of `carla.WorldSettings`
- Added `is_invincible` to walkers
2019-04-18 18:48:06 +08:00
* Several optimizations to the RPC server, now supports a bigger load of async messages
2019-07-13 00:38:25 +08:00
* Updated DebugHelper to render on Shipping packages, it has also better performance
2019-07-11 17:40:56 +08:00
* Updated OpenDriveActor to use the new Waypoint API
* Removed deprecated code and content
2019-05-27 22:49:05 +08:00
* Exposed waypoints and OpenDrive map to UE4 Blueprints
2019-07-11 17:40:56 +08:00
* Change the weight of cars. All cars have been compared with the real to have a feedback more real
* Recorder fixes:
- When a recorded session finish replaying, all vehicles will continue in autopilot, and all pedestrians will stop
- Fixed a possible crash if an actor is respawned before the episode is ready when a new map is loaded automatically
- Actors at start of playback could interpolate positions from its current position instead than the recorded position
- Camera following in playback was not working if a new map was needed to load
- API function 'show_recorder_file_info' was showing the wrong parent id
- Script 'start_recording.py' now properly saves destruction of actors at stop
- Problem when vehicles enable autopilot after a replayer, now it works better
* Fixed dead-lock when loading a new map in synchronous mode
* Fixed get_actors may produce actors without parent
* Fixed std::bad_cast when importing other libraries, like tensorflow, before carla
* Fixed latitude in WGS84 reprojection code such that Latitudes increase as one move north in CARLA worlds
* Fixed walking animations, the animations now go at the same speed as the game
* Fixed loading and reloading world not using the timeout
2019-05-21 21:13:32 +08:00
* Fixed XODR files can be found now anywhere in content
* Fixed bug related with Pygame error of surface too large, added sidewalks and improved lane markings in `no_rendering_mode.py`
2019-07-11 17:40:56 +08:00
* Fixed Lidar effectiveness bug in manual_control.py
* Fixed wrong units in VehiclePhysicsControl's center of mass
* Fixed semantic segmentation of bike riders
* Fixed inconsistent streetlights in Town03
* Fixed incorrect vehicle bounds
2019-04-13 00:29:40 +08:00
## CARLA 0.9.5
* Added `client_bounding_boxes.py` to show bounding boxes client-side
2019-04-02 00:43:16 +08:00
* New Town07, rural environment with narrow roads
2019-03-30 20:47:41 +08:00
* Reworked OpenDRIVE parser and waypoints API
- Fixed several situations in which the XODR was incorrectly parsed
2019-04-02 00:43:16 +08:00
- Exposed more information: lane marking, lane type, lane section id, s
2019-03-30 20:47:41 +08:00
- API change: waypoint's `lane_type` is now an enum, `carla.LaneType`
- API change: `carla.LaneMarking` is not an enum anymore, extended with color, type, lane change, and width
- API extension: `map.get_waypoint` accepts an extra optional flag argument `lane_type` for filtering lane types
- API extension: `carla.Map` can be constructed off-line out of XODR files, `carla.Map(town_name, xodr_content)`
2019-04-02 00:43:16 +08:00
- API extension: `id` property to waypoints, uniquely identifying waypoints up to half centimetre precision
* API change: Renamed "lane_invasion" to "lane_detector", added too its server-side sensor to be visible to other clients
* API extension: new carla.command.SpawnActor to spawn actors in batch
* API extension: `map.transform_to_geolocation` to transform Location to GNSS GeoLocation
* API extension: added timestamp (elapsed simulation seconds) to SensorData
* API extension: method `client.apply_batch_sync` that sends commands in batch and waits for server response
* API extension: optional argument "actor_ids" to world.get_actors to request only the actors with the ids provided
* Migrated Content to AWS
* Updated `spawn_npc.py` to spawn vehicles in batch
* Added --rolename to "manual_control.py"
* Added options to "no_rendering_mode.py" to draw extra road information
* Added "scene_layout.py" to retrieve the whole information in the scene as Python dict
* Basic agent integrated with global router
* Allow usage of hostname for carla::Client and resolve them to IP addresses
2019-03-27 23:35:06 +08:00
* Added new pack of assets
- Windmill, different farm houses, silo
- Plants corn, dandelion, poppy, and grass
- Yield traffic sign
* Added modular buildings New York style
* Added marking lanes in Town03
2019-04-02 00:43:16 +08:00
* Added command-line arguments to simulator to disable rendering and set the server timeout
2019-03-27 23:35:06 +08:00
* Improved performance in Town01 and Town02
* Changed yellow marking lane from Town01 and Town02 to dashed yellow marking lane
2019-04-02 22:03:09 +08:00
* Improved lane cross detection to use the new Waypoint API
2019-04-02 00:43:16 +08:00
* Enhanced stop triggers options
2019-03-27 23:35:06 +08:00
* Fixed semantic segmentation tags in Town04, Town05, Town06
* Fixed tree collision in Town01
2019-04-02 00:43:16 +08:00
* Fixed VehicleSpawnPoint out of the road in Town01
2019-03-27 23:35:06 +08:00
* Fixed geo-reference of Town01 and Town07
* Fixed floating pillars in Town04
* Fixed floating building in Town03
* Fixed vehicles missing the route if autopilot enabled too late
* Fixed division by zero in is_within_distance_ahead()
2019-04-02 00:43:16 +08:00
* Fixed local planner to avoid premature route pruning at path overlaps
* Fixed global router behavior to be consistent with new Waypoint API
* Fixed clean up of local_planner when used by other modules
* Fixed python client DLL error on Windows
* Fixed wrong type returned by `ActorList.Filter(...)`
* Fixed wheel's tire friction affecting all vehicles from physics control parameters
* Fixed obstacle detector not working
* Fixed small float bug in misc.py
2019-03-02 01:52:21 +08:00
## CARLA 0.9.4
2019-03-02 01:52:57 +08:00
* Added recording and playback functionality
* Added synchronous mode, simulator waits until a client sends a "tick" cue, `client.tick()`
2019-03-27 01:52:28 +08:00
* Allow changing map from client-side, added `client.load_world(name)`, `client.reload_world()`, and `client.get_available_maps()`
2019-03-02 01:52:57 +08:00
* Added scripts and tools to import maps directly from .fbx and .xodr files into the simulator
* Exposed minimum physics control parameters for vehicles' engine and wheels
* Allow controlling multiple actors in "batch mode"
* New Town06, featuring a "Michigan left" intersection including:
2019-02-27 03:58:03 +08:00
- Connection ramp between two highways
- Incorporation to a highway requiring changing several lanes to take another exit
- Junctions supporting different scenarios
2019-03-02 01:52:57 +08:00
* New traffic signs assets: one-way, no-turn, more speed limits, do not enter, arrow floors, Michigan left, and lane end
2019-02-27 03:58:03 +08:00
* New pedestrian texture to add more variations
* New road PBR material
2019-03-02 01:52:57 +08:00
* Extended the waypoint API with `lane_change`, `lane_type`, `get_right_lane()` and `get_left_lane()`
* Added world settings for changing no-rendering mode and synchronous mode at run-time
* Added methods to acquire a traffic light's pole index and all traffic lights in it's group
* Added performance benchmark script to measure the simulator's rendering performance
* Added `manual_control_steeringwheel.py` to control agents using Logitech G29 steering wheels (and maybe others)
* Added movable props present in the map (e.g. chairs and tables) as actors so they can be controlled from Python
* Added recording and playback bindings to `manual_control.py` script
* Removed `world.map_name` from API, use `world.get_map().name` instead
* Refactored `no_rendering_mode.py` to improve performance and interface
* Several improvements to the build system for Windows
* Expose traffic sign's trigger volumes on Python API
* Improved export/import map tools
* Simplify Dockerfile halving Carla Docker image size
* Episodes have now a random unique id to avoid collisions between runs
* Reduced overhead of many RPC calls by sending only actor IDs (instead of serializing all the actor attributes every time)
* Added priority system for vehicle control input (internal, not exposed in API)
* Removed "Example.CarlaSettings.ini", you can still use it, but it's no longer necessary
* Improved time-out related error messages
2019-02-27 03:58:03 +08:00
* Fixed Town01 placed 38 meters above the zero
2019-03-02 01:52:57 +08:00
* Fixed parsing of OpenDrive geo-reference exported by RoadRunner
* Fixed issue of retrieving an empty list when calling `world.get_actors()` right after creating the world
* Fixed a few synchronization issues related to changing the world at runtime
* Fixed traffic light when it gets illuminated by the hero vehicle in `no_rendering_mode.py`
* Fixed `manual_control.py` and `no_rendering_mode.py` to prevent crashes when used in "no rendering mode"
* Fixed traffic signs having the trigger box rotated
2019-02-27 03:58:03 +08:00
* Fixed female walk animation
* Fixed BP_MultipleFloor, tweaked offset in BaseFloor to adjust meshes between them
2019-03-02 01:52:57 +08:00
* Fixed static objects present in the map were marked as "movable"
2019-02-12 19:10:27 +08:00
2019-01-31 21:28:16 +08:00
## CARLA 0.9.3
2019-01-10 23:23:57 +08:00
2019-01-22 22:15:08 +08:00
* Upgraded to Unreal Engine 4.21
2019-01-10 18:00:39 +08:00
* Upgraded Boost to 1.69.0
2019-01-31 21:28:16 +08:00
* New Town04 (biggest so far), includes a freeway, new bridge and road barrier, a nicer landscape based on height-map, and new street props
* New Town05, adding more variety of intersections for the scenario runner
* Redesigned pedestrian models and animations (walk and idle) for male and female characters
* Added sensor for detecting obstacles (ray-cast based)
* Added sensor GNSS (GPS)
* Basic agent integrated with global router
* Added a few methods to manage an actor:
- set_velocity: for setting the linear velocity
- set_angular_velocity: for setting the angular velocity
- get_angular_velocity: for getting the angular velocity
- add_impulse: for applying an impulse (in world axis)
* Renamed vehicle.get_vehicle_control() to vehicle.get_control() to be consistent with walkers
* Added new mesh for traffic lights
* Added new pine tree assets, with their LODs finely tuned for performance
2019-01-11 22:23:58 +08:00
* Added point transformation functionality for LibCarla and PythonAPI
* Added "sensor_tick" attribute to sensors (cameras and lidars) to specify the capture rate in seconds
* Added Export/Import map tools
* Added "get_forward_vector()" to rotation and transform, retrieves the unit vector on the rotation's X-axis
2019-01-11 22:23:58 +08:00
* Added support for Deepin in PythonAPI's setup.py
* Added support for spawning and controlling walkers (pedestrians)
2019-01-31 21:28:16 +08:00
* Updated BasicAgent to allow setting target_speed and handle US-style traffic lights properly
* OpenDriveActor has been rewritten using the Waypoint API, this has fixed some bugs
2019-01-26 00:48:10 +08:00
* Remove crash reporter from packaged build
2019-01-31 21:28:16 +08:00
* Improved simulator fatal error handling, now uses UE4 fatal error system
* LibCarla server pipeline now compiles with exceptions disabled for better performance and compatibility with UE4
2019-01-29 02:24:08 +08:00
* Fixed TCP accept error, too many open files while creating and destroying a lot of sensors
* Fixed lost error messages in client-side, now when a request fails it reports the reason
2019-01-31 21:28:16 +08:00
* Fixed global route planner to handle round about turns and made the code consistent with local planner
* Fixed local planner to avoid premature route pruning at path overlaps
* Fixed autopilot direction not properly initialized that interfered with the initial raycast direction
2019-01-29 02:24:08 +08:00
* Fixed crash when an actor was destroyed but not de-registered, e.g. falling out of world bounds
2019-01-10 23:23:57 +08:00
2018-12-22 01:00:49 +08:00
## CARLA 0.9.2
* Updated ROS bridge for CARLA 0.9.X (moved to its own repository)
2018-12-22 01:00:49 +08:00
* Added Python API "agents" extension, includes
- Global route planner based on the Waypoints API (compatible with OpenDrive)
- BasicAgent: new client agent that can drive to a given coordinate of the map using the waypoint API and PID controllers, attending to other vehicles and traffic lights
- RoamingAgent: new client agent that can drive at different speeds following waypoints based on PID controllers, attending to other vehicles and traffic lights
2018-12-22 01:00:49 +08:00
- LocalPlanner functionality to navigate waypoints using PID controllers
- LateralControl and LongitudinalControl PIDs
2018-12-22 18:41:19 +08:00
* Added support for manual gear shifting
* Added "role_name" attribute to actors to easily identify the "hero" vehicle
* Changed traffic lights in Town03 to American style
* Added new junction types with only stop signs
2018-12-22 01:00:49 +08:00
* Updates to documentation and tutorials
* Simulator now starts by default in windowed mode
* CMake version required downgraded to 3.5 for better compatibility
2018-12-22 18:41:19 +08:00
* Fixed waypoints height were all placed at zero height
* Fixed actors in world.get_actors() missing parent actor
* Fixed some vehicles losing their wheels after calling set_simulate_physics
* Fixed bounding box of Lincoln MkZ
2018-12-22 01:00:49 +08:00
* Several fixes and improvements to OpenDriveActor
2018-11-16 20:29:40 +08:00
## CARLA 0.9.1
* New town: Town03
- Created with Vector Zero's RoadRunner (including OpenDrive information of the road layout)
- Bigger and more diverse
- More road variety: multiple lanes and lane markings, curves at different angles, roundabout, elevation, tunnel
* Lots of improvements to the Python API
- Support for Python 3
- Support for retrieving and changing lighting and weather conditions
- Migrated Lidar sensor
- Migrated image converter methods: Depth, LogarithmicDepth, and CityScapesPalette
- Migrated IO methods for sensor data, "save_to_disk" available for PNG, JPEG, TIFF, and PLY
- Added support for requesting the list of all the actors alive in the current world, `world.get_actors()`
- `world.get_actors()` returns an `ActorList` object with `filter` functionality and lazy initialization of actors
- Added collision event sensor, "sensor.other.collision", that triggers a callback on each collision to the actor it is attached to
- Added lane detector sensor, "sensor.other.lane_detector", that detects lane invasion events
- Added `carla.Map` and `carla.Waypoint` classes for querying info about the road layout
- Added methods for converting and saving the map as OpenDrive format
- Added `map.get_spawn_points()` to retrieve the recommended spawn points for vehicles
- Added `map.get_waypoint(location)` to query the nearest waypoint
- Added `map.generate_waypoints(distance)` to generate waypoints all over the map at an approximated distance
- Added `map.get_topology()` for getting a list the tuples of waypoints that define the edges of the road graph
- Added `waypoint.next(distance)` to retrieve the list of the waypoints at a distance that can be driven from this waypoint
- Added `parent` attributes to actors, not None if the actor is attached to another actor
- Added `semantic_tags` to actors containing the list of tags of all of its components
- Added methods for retrieving velocity and acceleration of actors
- Added function to enable/disable simulating physics on an actor, `actor.set_simulate_physics(enabled=True)`
- Added bounding boxes to vehicles, `vehicle.bounding_box` property
- Exposed last control applied to vehicles, `vehicle.get_vehicle_control()`
- Added a "tick" message containing info of all the actors in the scene
- Executed in the background and cached
- Added `world.wait_for_tick()` for blocking the current thread until a "tick" message is received
- Added `world.on_tick(callback)` for executing a callback asynchronously each time a "tick" message is received
- These methods return/pass a `carla.Timestamp` object containing, frame count, delta time of last tick, global simulation time, and OS timestamp
- Methods retrieving actor's info, e.g. `actor.get_transform()`, don't need to connect with the simulator, which makes these calls quite cheap
- Allow drawing debug shapes from Python: points, lines, arrows, boxes, and strings (`world.debug.draw_*`)
- Added id (id of current episode) and map name to `carla.World`
- Exposed traffic lights and signs as actors. Traffic lights have a specialized actor class that has the traffic light state (red, green, yellow) as property
- Added methods for accessing and modifying individual items in `carla.Image` (pixels) and `carla.LidarMeasurement` (locations)
- Added `carla.Vector3D` for (x, y, z) objects that are not a `carla.Location`
- Removed `client.ping()`, `client.get_server_version()` accomplishes the same
- Renamed `contains_X()` methods to `has_X()`
- Changed `client.set_timeout(seconds)` to use seconds (float) instead of milliseconds
- Allow iterating attributes of an Actor's Blueprint
- Fixed wildcard filtering issues, now "vehicle.*" or "*bmw*" patterns work too
- Fixed `actor.set_transform()` broken for attached actors
* More Python example scripts and improved the present ones
- Now all the scripts use the list of recommended spawn points for each map
- Renamed "example.py" to "tutorial.py", and updated it with latest changes in API
- Added timeout to the examples
- "manual_control.py" performance has been improved while having more measurements
- "manual_control.py" now has options to change camera type and position
- "manual_control.py" now has options to iterate weather presets
- "manual_control.py" now has a fancier HUD with lots of info, and F1 key binding to remove it
- Added "dynamic_weather.py" to change the weather in real-time (the one used in the video)
- Added "spawn_npc.py" to quickly add a lot of NPC vehicles to the simulator
- Added "spawn_npc.py --safe" to only add non-problematic vehicles
- "vehicle_gallery.py" also got some small fixes
* Asset and content improvements
- New vehicle: Lincoln MKZ 2017
- Refactored weather system, parametrized to make it easier to use
- Improved control of bikes and motorbikes, still not perfect but causes less accidents
- Added building block generator system
- Misc city assets: New building, tunnel columns, rail-road bridges, new textures, new urban props
- Adjusted vehicle physics and center of mass
- Adjusted the maximum distance culling for foliage
- Adjusted pedestrian animations and scale issues (not yet available with new API though)
- Improved map building blueprints, spline based asset repeaters, and wall building tools
- Replaced uses of Unreal's Foliage system with standard static meshes to work around a visual bug in Linux systems
- Fixed filenames too long when packing the project on Windows
- Fixed "SplineMeshRepeater" loses its collider mesh from time to time
- Standardized asset nomenclature
* New system for road information based on OpenDrive format
- Added new map classes for querying info about the road layout and topology
- Added methods for finding closest point on the road
- Added methods for generating and iterating waypoints based on the road layout
- Added OpenDrive parser to convert OpenDrive files to our map data structures
* Other miscellaneous improvements and fixes
- Fixed single channel Lidar crash (by @cwecht)
- Fixed command-line argument `-carla-settings` fails to load absolute paths (by @harlowja)
- Added an option to command-line to change quality level when launching the simulator, `-quality-level=Low`
- Added ROS bridge odometry message (by @ShepelIlya)
- New lens distortion shader, sadly not yet integrated with our cameras :(
- New Docker tutorial
- Disabled texture streaming to avoid issue of textures not loading in scene captures
- Adjusted scene capture camera gamma to 2.4
- Fixed leaking objects in simulation when despawning a vehicle. Now Pawn's controller is destroyed too if necessary when destroying an Actor
- Fixed overflow on platform time-stamp, now it uses `double`
- Upgraded @rpclib to fix crash when client exits too fast (rpclib/PR#167)
- Moved "PythonClient" inside deprecated folder to avoid confusion
- Refactored sensor related code
- New plugin system for sensors that simplifies adding sensors, mini-tutorial at #830
- Compile-time dispatcher for sensors and serializers
* Improvements to the streaming library
- Added multi-streams for streaming simultaneously to multiple clients (used by the "tick" message)
- Messages re-use allocated memory when possible
- Allows unsubscribing from a stream
- Fixed client receives interleaved sensor messages, some messages can be discarded if connection is too slow though
- Fixed streaming client fails to connect in Windows
- Fixed streaming client keeps trying to reconnect after destroying a sensor
* Refactored client C++ API
- Python GIL is released whenever possible to avoid blocking
- Fixed deadlock when closing the simulator while a client is connected
- Fixed crash on simulator shutdown if a client has connected at some point
- Set methods are now sent async which greatly improves performance in the client-side
- Vehicle control is cached and not sent if haven't changed
- Suppressed exceptions in destructors
* Other development improvements
- Improved Linux Makefile, fine-grained targets to reduce compilation times in development
- Workaround for "setup.py" to link against "libcarla_client.a" again (Linux only)
- Added support for ".gtest" file, each line of this file is passed to GTest executables as arguments when running `make check` targets
- Python eggs are also archived on Jenkins to easily get them without downloading the full package
- Added uncrustify config file for formatting UE4 C++ code
2018-07-30 20:28:51 +08:00
## CARLA 0.9.0
* Upgraded to Unreal Engine 4.19
* Redesign of the networking architecture
- Allows any number of clients to connect simultaneously
- Now is possible to add and remove at any time any vehicle or camera
- Now is possible to control any vehicle or camera
- Now is possible to place cameras anywhere
- Reduced to two ports instead of three
- First port uses an RPC protocol based on [rpclib](http://rpclib.net/)
- Second port is for the streaming of the sensor data
* Redesign of the Python API
- Actors and sensors are now exposed in the API and can be independently controlled
- The Python module is built in C++, with significant performance gain in some operations
- Many functionality haven't been ported yet, so expect a lot of things missing
* Redesign of the build system to accommodate the changes in dependencies
- Everything can be done now with the Makefile
- For the moment only Linux is supported, sorry
* Massive clean up of all unused assets
* Some aesthetic fixes to the vehicles
2018-06-16 00:57:46 +08:00
## CARLA 0.8.4
* Community contribution: ROS bridge by @laurent-george
* New vehicle: Tesla Model 3
* Added an option to _"CarlaSettings.ini"_ to disable bikes and motorbikes
* Fixed missing collision of vehicles introduced in 0.8.3
* Improved stability of bikes and motorbikes
* Improved autopilot turning behaviour at intersections, now using front wheels positions as reference
* Temporarily removed Kawasaki Ninja motorbikes because the model was having some stability issues
## CARLA 0.8.3
* Added two-wheeled vehicles, 3 bicycles and 4 motorbikes
* Several art optimizations (CARLA is now about 10% faster)
- Improved the performance of vegetation assets, adjusted LOD and culling distance, set billboards where possible
- Drastically reduced the number of polygons of the landscape while keeping the original shape
- Removed some high-cost unnecessary assets
- Remodelled Mustang and NissanMicra, now with less polygons and materials, better textures and LOD
- Remodelled building SM_TerracedHouse_01, now with more polygons but less materials and better textures
* CARLA releases include now a Dockerfile for building docker images
* Change in HUD: replace "FPS" by "Simulation Step"
* The current map name is now included in the scene description message sent to the client
* Adapted "manual_control.py" and "view_start_positions.py" to use the map name sent by the simulator
* Improved the vehicle spawning algorithm, now it tries to spawn as much cars as possible even if there are not enough spawn points
* "Setup.sh" is now faster and accepts an argument to run multiple jobs in parallel
* Fixed foliage distance culling using wrong distance in "Low Mode"
* Fixed NissanMicra slightly turning left when driving straight
2018-04-20 23:22:59 +08:00
## CARLA 0.8.2
* Revamped driving benchmark
- Changed name from benchmark to driving benchmark
- Fully Redesigned the architecture of the module
- Added a lot more documentation
- Now you can stop and resume the benchmarks you run
* Rolled back vehicle's location to the pivot of the mesh instead of the center of the bounding box
* Added relative transform of the vehicle's bounding box to the measurements, player and non-players
* Added "frame number" to each sensor measurement so it is possible to sync all the measurements based on the frame they are produced
* Improved vehicle spawner to better handle spawning failures
* Walkers use now a closer angle to detect vehicles, so they don't stop moving if a car passes nearby
* Fixed lighting artefact causing the road to change its brightness depending on the distance to the camera
* Fixed captured images overexposed in Low mode
* Fixed illegal character in asset name
* Fixed editing sun azimuth angle in CarlaWeadther.ini had no effect
* Fixed crash when using a non-standard image size in DirectX (Windows)
* Fixed issue with using multiple "SceneCaptureToDiskCamera"
2018-04-05 18:39:57 +08:00
## CARLA 0.8.1
* New Python example for visualizing the player start positions
* Fixed box extent of non-player agents was sent in centimeters instead of meters
* Fixed speed limits were sent in km/h instead of m/s
* Fixed issue in Volkswagen T2 wheels causing it to overturn
2018-03-16 02:32:07 +08:00
## CARLA 0.8.0
* Upgraded to Unreal Engine 4.18
2018-03-22 17:47:33 +08:00
* Created our own pedestrian 3D models free to use and distribute
2018-03-16 02:32:07 +08:00
* Removed Epic's Automotive Materials dependencies
2018-03-22 17:47:33 +08:00
* 360 Lidars support (similar to Velodyne HDL-32E or VLP-16) thanks to Anton Pechenko (Yandex)
- Ray-cast based
2018-03-16 02:32:07 +08:00
- Configurable settings
- Added methods to save points to disk as PLY file
* Added quality level settings
2018-03-22 17:47:33 +08:00
- Low: low quality graphics, about 3 times faster with one camera
2018-03-16 02:32:07 +08:00
- Epic: best quality (as before)
* Measurements now use SI units
- Locations: m
- Speed: m/s
- Acceleration: m/s^2
- Collisions: kg*m/s
- Angles: degrees
* Added API methods to convert depth images to a point cloud
- New method "image_converter.depth_to_local_point_cloud"
- A supplementary image can be passed to attach colors to the points
- New client example generates a point cloud in world coordinates
- Added Transform class to Python API
2018-03-22 17:47:33 +08:00
* Performance optimizations
- Significant speed improvements in both Epic and Low modes
- Fixed materials and improved shaders for roads, architecture, sidewalks, foliage, landscapes, cars, walkers, reflections, water
- Execution of a set of Project and Engine parameters to improve performance (quality, vsync, AO, occlusion)
- Generation of the road pieces using static meshes and actors instead of a single actor with instanced meshes
- Improved performance since now is able to apply occlusion and draw distance
- Images are captured asynchronously in the render thread
- In asynchronous mode, images may arrive up to two frames later
- In synchronous mode, game thread is blocked until images are ready
- Blueprint code optimizations for vehicles, walkers, and splines
- Added a way to configure different quality levels with culling distance and materials configuration
2018-03-16 02:32:07 +08:00
* Refactored sensor related code to ease adding new sensors in the future
* Added vehicle box extent to player measurements
2018-03-22 17:47:33 +08:00
* Removed the player from the list of non-player agents
2018-03-16 02:32:07 +08:00
* Adjusted bounding boxes to vehicles' height
* Changed vehicles' center to match bounding box
2018-03-24 01:33:11 +08:00
* Added autopilot mode to manual_control.py
* Added quality level options to manual_control.py and client_example.py
2018-03-16 02:32:07 +08:00
* Replaced background landscape and trees by a matte painting
* Fixed road map generated some meshes twice
* Small improvements to Windows support
- Fixed issues with the Makefile
- Fixed asset names too long or containing special characters
2018-01-24 19:34:12 +08:00
## CARLA 0.7.1
* New Python API module: Benchmark
- Defines a set of tasks and conditions to test a certain agent
- Contains a starting benchmark, CoRL2017
- Contains Agent Class: Interface for benchmarking AIs
* New Python API module: Basic Planner (Temporary Hack)
- Provide routes for the agent
- Contains AStar module to find the shortest route
* Other Python API improvements
- Converter class to convert between Unreal world and map units
- Metrics module to summarize benchmark results
* Send vehicle's roll, pitch, and yaw to client (orientation is now deprecated)
* New RoutePlanner class for assigning fixed routes to autopilot (IntersectionEntrance has been removed)
* Create a random engine for each vehicle, which greatly improves repeatability
* Add option to skip content download in Setup.sh
* Few small fixes to the city assets
2017-11-28 19:57:15 +08:00
## CARLA 0.7.0
* New Python client API
- Cleaner and more robust
- Compatible with Python 2 and 3
- Improved exception handling
- Improved examples
- Included methods for parsing the images
- Better documentation
- Protocol: renamed "ai_control" to "autopilot_control"
- Merged testing client
2018-01-24 19:34:12 +08:00
- Added the maps for both cities, the client can now access the car position within the lane
2017-11-28 19:57:15 +08:00
* Make CARLA start without client by default
* Added wind effect to some trees and plants
* Improvements to the existing weather presets
* Build script: skip content download if up-to-date
2017-11-10 21:55:32 +08:00
## CARLA 0.6.0
* Included Unreal project and reorganised folders
* Enabled semantic segmentation by default
2017-11-28 19:57:15 +08:00
* Added Felipe's Python client
2017-11-10 21:55:32 +08:00
* New build system (Linux only)
* Few fixes to city assets
2017-10-24 23:09:31 +08:00
## CARLA 0.5.4
* Added command-line parameter -carla-no-hud
* Remove override gamma from weather settings
* Fixed issue road map generation hangs cooking command
* Organise Python client and make sample script
2017-10-25 21:57:04 +08:00
* Rename maps
- CARLA_ORIGIN_0 --> Town02
- CARLA_ORIGIN_1 --> Town01
* Fixed Carla-Cola machine falling at begin play
2017-10-24 23:09:31 +08:00
2017-10-04 20:44:07 +08:00
## CARLA 0.5.3
2017-10-25 21:57:04 +08:00
* Fixed issues with weather
* Fixed missing building
2017-10-04 20:44:07 +08:00
2017-10-03 17:56:10 +08:00
## CARLA 0.5.2
* Autopilot mode has been removed, now server sends AI control together with measurements every frame
* State and position of traffic lights and signs are now included in the measurements too
* Added a python console client
* Fixed crash when client sends an invalid player start
2017-10-25 21:57:04 +08:00
* Fixed some issues with the dynamic weather not looking as it used to do
* Fixed some collision boxes missing
2017-10-03 17:56:10 +08:00
2017-09-21 23:01:30 +08:00
## CARLA 0.5.1
* Fixed issue server was destroyed on every reset, closing the connection
* Fixed issue agent servers connect too late
* Improvements to the python client
* Added python client test suite for testing the release
* Added image converter
2017-10-25 21:57:04 +08:00
* Fixed missing floor on CARLA_ORIGIN_0
* Changed sidewalk texture
* Improvements on the physics of some vehicles
* More props and decals added to the cities
2017-09-21 23:01:30 +08:00
2017-09-07 21:51:07 +08:00
## CARLA 0.5.0
* Upgraded to Unreal Engine 4.17
- Fixes memory leaks
- Fixes crashes with C++ std classes
* Redesigned CarlaServer
- Faster, avoids unnecessary copies
- Sends images as raw data (no compression)
- Supports synchronous and asynchronous mode
- Networking operation have a time-out
- Synchronous methods have a time-out
- Pure C interface for better compatibility
- Unit tests with GoogleTest
* New server-client protocol
- Upgraded to proto3
- Supports repeated fields
- Optionally send information about all dynamic agents in the scene
- Now sends transforms instead of locations only
- Autopilot mode added to control
* New build system to avoid linkage issues
* Added autopilot mode
* Added an on-board camera to the car
* Added traffic lights and speed limit to player state
* Added player pawn selection to config file
* Improved blueprint interface of the C++ classes
* Some performance improvements to vehicle controllers
* Fix issues with depth material in Windows
* Fix issues with random engine not being available for vehicles
* Fixed issue that compiling a release hang when saving the road map
2017-10-25 21:57:04 +08:00
* Added more content; 7 vehicles, 30 pedestrians, many decals and props
* Randomized pedestrian clothing
* Many improvements and fixes to the city levels and assets
* Added sub-surface scattering to vegetation
* Added key binding to change weather during play
* Added key binding to toggle autopilot mode
* Added a second camera to the player
2017-09-07 21:51:07 +08:00
2017-06-21 22:27:35 +08:00
## CARLA 0.4.6
* Add weather presets specific for each level
2017-10-25 21:57:04 +08:00
* Some map fixes, adjust weather presets specific for each level
* Fixed regression that some walkers may go at extremely slow and fast speeds
2017-06-21 22:27:35 +08:00
2017-06-20 22:19:28 +08:00
## CARLA 0.4.5
* Add random seeds to config file
* Improve logging
2017-10-25 21:57:04 +08:00
* Removed rotation of map CARLA_ORIGIN_1
2017-06-20 22:19:28 +08:00
2017-06-20 16:25:39 +08:00
## CARLA 0.4.4
* Fixed regression walkers despawning when stopping after seeing a car
* Changed, collision is only registered if player moves faster than 1 km/h
* Fixed issue walkers resume movement after sensing nothing, but the car is still there sometimes
2017-10-25 21:57:04 +08:00
* Few improvements to the city assets
2017-06-20 16:25:39 +08:00
2017-06-16 01:00:15 +08:00
## CARLA 0.4.3
* Fixed issue with reward, intersect other lane wasn't sent to the client
* Improvements to the AI of other vehicles, and how they detect pedestrians
* Improvements to the AI of the pedestrians, trying to avoid slightly better the cars
* Made roads collision channel WorldStatic
2017-10-25 21:57:04 +08:00
* Tune several vehicles' physics and engine
* Fixed issue with vehicles bouncing back after hitting a pedestrian
* Add bigger box to pedestrians to avoid accidents
* Make vehicles spawn in order instead of randomly
2017-06-16 01:00:15 +08:00
2017-06-09 18:07:10 +08:00
## CARLA 0.4.2
* Fixed issues with the server-client protocol
* More improvements to the AI of other vehicles, now they barely crash
2017-10-25 21:57:04 +08:00
* Improved the physics of some vehicles
* Tweak the city for better AI of other vehicles
2017-06-09 18:07:10 +08:00
## CARLA 0.4.1
* Improved AI of other vehicles, still needs some adjustment, but now they crash much less
2017-10-25 21:57:04 +08:00
* Fixed wrong semantic segmentation label of the poles of traffic lights and signs
* Added randomized vehicle license plates
* Few improvements to the city assets
2017-06-09 18:07:10 +08:00
2017-06-03 02:35:34 +08:00
## CARLA 0.4.0
* Made vehicle input more realistic, now reverse and brake use different input
* Changed server-client protocol
- CarlaSettings.ini is sent for every new episode
- Control is extended with brake, reverse and handbrake
* Set a clearer hierarchy for loading settings files
2017-06-03 02:35:34 +08:00
* Made camera post-process settings able to change depending on the weather
* Added basic functionality for NPC vehicles
* Some improvements to the walker spawner
* Generate road map metadata on save
* Added command-line switch -carla-no-networking
* Improved verbosity control of CarlaServer
* Fixed issue with server that two threads used 100% CPU
* Fixed issue with the attachment of the main camera to the player
* Fixed issues with CarlaServer interface with Unreal, does not use STL containers anymore
2017-10-25 21:57:04 +08:00
* Fixed issue with server not running below 30 fps at fixed frame rate, added physics sub-stepping
* Fixed issues with some weather settings
* Added randomized pedestrians with their AI and animations
* Added other vehicles with their AI and physics
* Added traffic lights and signs
* Tweaked capture image to look similar to main camera
* Changed car input to match settings in plugin
* General improvements to levels and assets
2017-06-03 02:35:34 +08:00
2017-05-19 22:27:06 +08:00
## CARLA 0.3.0
2017-06-03 02:35:34 +08:00
* Added basic dynamic weather functionality
- Weather and sun light can be changed during game
- Presets stored in config file CarlaWeather.ini
2017-10-25 21:57:04 +08:00
- Added some presets for dynamic weather
2017-06-03 02:35:34 +08:00
* Add basic functionality to spawn pedestrians
* Split road meshes for intersections and turns for better precission of the road map
* Better debug for road map
* Implemented collision count for other cars and pedestrians
* Command line argument -carla-settings now accepts relative paths
* Improved performance when semantic segmentation is disabled
* Improved tagger system
2017-10-25 21:57:04 +08:00
* Implemented nav-mesh and spawn points for pedestrians
* Added new cars
* Added dynamic street lights
* General improvements to levels and assets
* Make the car jump
2017-05-19 22:27:06 +08:00
2017-05-09 02:04:44 +08:00
## CARLA 0.2.4
2017-06-03 02:35:34 +08:00
* Fixed serialization of road map resulting in a huge map size
2017-10-25 21:57:04 +08:00
* Some optimizations in the vegetation
* Implemented more LODS
2017-05-09 02:04:44 +08:00
## CARLA 0.2.3
2017-06-03 02:35:34 +08:00
* Fixed rounding errors in HUD (100% was shown as 99%, 30 FPS as 29 FPS)
* Fixed crash when player goes out of road map
* Fixed several issues related to the transform of the road map (wasn't working in CARLA_ORIGIN_1)
2017-10-25 21:57:04 +08:00
* Make custom depth pass disable by default (semantic segmentation won't work by default)
* Fixed road width in T-intersections
* Implement road LOD
* Fixed missing assets
## CARLA 0.2.2
* Implemented signals for off-road and opposite lane invasion
* Fixed linking issues (use Unreal's libpng)
* Fixed memory leak in PNG compression
2017-10-25 21:57:04 +08:00
* Added boundaries to the map
* Several fixes in the map content
## CARLA 0.2.1
* Fixed the memory leak related to protobuf issues
* Fixed color shift in semantic segmentation and depth
* Added in-game timestamp (now sending both OS and in-game)
## CARLA 0.2.0
* Fixed Depth issues
2017-10-25 21:57:04 +08:00
* Fixed random crash due to an invalid player start position
* Added semantic segmentation
* Changed codification to PNG
* Camera configuration through config INI file
## CARLA 0.1.1
* Added build system for Windows and Linux
2017-10-25 21:57:04 +08:00
* Added more content
## CARLA 0.1.0
* Added basic functionality