diff --git a/CHANGELOG.md b/CHANGELOG.md index 937cf5da0..8072bd0d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,117 @@ +## 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 + ## CARLA 0.9.0 * Upgraded to Unreal Engine 4.19 diff --git a/Docs/build_system.md b/Docs/build_system.md index edeaf19a8..21c13f8d4 100644 --- a/Docs/build_system.md +++ b/Docs/build_system.md @@ -82,8 +82,8 @@ make PythonAPI It creates two "egg" packages - * `PythonAPI/dist/carla-0.9.0-py2.7-linux-x86_64.egg` - * `PythonAPI/dist/carla-0.9.0-py3.5-linux-x86_64.egg` + * `PythonAPI/dist/carla-X.X.X-py2.7-linux-x86_64.egg` + * `PythonAPI/dist/carla-X.X.X-py3.5-linux-x86_64.egg` This package can be directly imported into a Python script by adding it to the system path @@ -94,7 +94,7 @@ system path import sys sys.path.append( - 'PythonAPI/dist/carla-0.9.0-py%d.%d-linux-x86_64.egg' % (sys.version_info.major, + 'PythonAPI/dist/carla-X.X.X-py%d.%d-linux-x86_64.egg' % (sys.version_info.major, sys.version_info.minor)) import carla @@ -105,6 +105,6 @@ import carla or installed with `easy_install` ```sh -easy_install2 --user --no-deps PythonAPI/dist/carla-0.9.0-py2.7-linux-x86_64.egg -easy_install3 --user --no-deps PythonAPI/dist/carla-0.9.0-py3.5-linux-x86_64.egg +easy_install2 --user --no-deps PythonAPI/dist/carla-X.X.X-py2.7-linux-x86_64.egg +easy_install3 --user --no-deps PythonAPI/dist/carla-X.X.X-py3.5-linux-x86_64.egg ``` diff --git a/Docs/download.md b/Docs/download.md index 10bfa6833..5c5362169 100644 --- a/Docs/download.md +++ b/Docs/download.md @@ -12,6 +12,7 @@ > These are the version of CARLA, more frequently updated and with the latest features. Keep in mind that everything in this channel can (and probably will) change. +- [CARLA 0.9.1](https://github.com/carla-simulator/carla/releases/tag/0.9.1) - [CARLA 0.9.0](https://github.com/carla-simulator/carla/releases/tag/0.9.0) - [[Blog post](http://carla.org/2018/07/30/release-0.9.0/)] - _New API, multi-client multi-agent support_ - [CARLA 0.8.4](https://github.com/carla-simulator/carla/releases/tag/0.8.4) - diff --git a/PythonAPI/setup.py b/PythonAPI/setup.py index ab88aa323..f6b211885 100644 --- a/PythonAPI/setup.py +++ b/PythonAPI/setup.py @@ -95,7 +95,7 @@ def get_libcarla_extensions(): setup( name='carla', - version='0.9.0', + version='0.9.1', package_dir={'': 'source'}, packages=['carla'], ext_modules=get_libcarla_extensions(), diff --git a/PythonAPI/test/__init__.py b/PythonAPI/test/__init__.py index b57d14be6..5f900b759 100644 --- a/PythonAPI/test/__init__.py +++ b/PythonAPI/test/__init__.py @@ -7,5 +7,5 @@ import sys sys.path.append( - '../dist/carla-0.9.0-py%d.%d-linux-x86_64.egg' % (sys.version_info.major, + '../dist/carla-0.9.1-py%d.%d-linux-x86_64.egg' % (sys.version_info.major, sys.version_info.minor)) diff --git a/Unreal/CarlaUE4/Config/DefaultGame.ini b/Unreal/CarlaUE4/Config/DefaultGame.ini index 17283ad5d..011f7152e 100644 --- a/Unreal/CarlaUE4/Config/DefaultGame.ini +++ b/Unreal/CarlaUE4/Config/DefaultGame.ini @@ -3,7 +3,7 @@ ProjectID=675BF8694238308FA9368292CC440350 ProjectName=CARLA UE4 CompanyName=CVC CopyrightNotice="Copyright (c) 2017 Computer Vision Center (CVC) at the Universitat Autonoma de Barcelona (UAB). This work is licensed under the terms of the MIT license. For a copy, see ." -ProjectVersion=0.9.0 +ProjectVersion=0.9.1 [/Script/Carla.CarlaSettings] +LowRoadMaterials=(MaterialInterface=MaterialInstanceConstant'"/Game/Carla/Static/GenericMaterials/Ground/SimpleRoad/CheapRoad.CheapRoad"',MaterialSlotName="Tileroad_Road",ImportedMaterialSlotName="",UVChannelData=(bInitialized=False,bOverrideDensities=False,LocalUVDensities[0]=0.000000,LocalUVDensities[1]=0.000000,LocalUVDensities[2]=0.000000,LocalUVDensities[3]=0.000000)) diff --git a/Unreal/CarlaUE4/Plugins/Carla/Carla.uplugin b/Unreal/CarlaUE4/Plugins/Carla/Carla.uplugin index 83ccb0f10..9a5ebad33 100644 --- a/Unreal/CarlaUE4/Plugins/Carla/Carla.uplugin +++ b/Unreal/CarlaUE4/Plugins/Carla/Carla.uplugin @@ -1,7 +1,7 @@ { "FileVersion": 3, "Version": 1, - "VersionName": "0.9.0", + "VersionName": "0.9.1", "FriendlyName": "CARLA", "Description": "Open-source simulator for autonomous driving research.", "Category": "Science",