Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
bernatx committed Sep 25, 2020
2 parents 60c11b5 + 159801f commit c7b2076
Show file tree
Hide file tree
Showing 194 changed files with 5,467 additions and 2,174 deletions.
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ view the contribution guidelines, then fill out the blanks below.
Checklist:
- [ ] Your branch is up-to-date with the `master` branch and tested with latest changes
- [ ] Your branch is up-to-date with the `dev` branch and tested with latest changes
- [ ] Extended the README / documentation, if necessary
- [ ] Code compiles correctly
- [ ] All tests passing with `make check`
- [ ] All tests passing with `make check` (only Linux)
- [ ] If relevant, update CHANGELOG.md with your changes
-->
Expand Down
99 changes: 62 additions & 37 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,76 @@
## CARLA 0.9.10

* Added PythonAPI `carla.Osm2Odr.convert()` function and `calra.Osm2OdrSettings` class to support Open Street Maps to OpenDRIVE conversions
* Upgraded to AD RSS v4.0.1 supporting unstructured scenes and pedestrians, and fixed spdlog to v1.7.0
* Fixed a bug in `spawn_npc_sumo` script computing not allowed routes for a given vehicle class
* Fixed a bug where `get_traffic_light` would always return `None`
* 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
* Upgraded to AD RSS v4.1.0 supporting unstructured scenes and pedestrians, and fixed spdlog to v1.7.0
* Changed frozen behavior for traffic lights. It now affects to all traffic lights at the same time
* Added API function `freeze_all_traffic_lights` and `reset_group`
* Fixed recorder determinism problems
* Added function to stop the replayer
* Added Light ids
* Added vehicle light and street light data to recorder
* Added API function `add_angular_impulse()` to add angular impulse to any actor
* Fixed rain drop spawn issues when spawning camera sensors
* Fixed assets import pipeline
* Fixed Update.sh from failing when the root folder contains a space on it
* 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
* All sensors are now multi-stream, that means that the same sensor can be listened from different clients
* Fixed point cloud of LiDAR. Now the points are given correctly in the sensor's coordinate system
* Fixed light intensity and camera parameters to match
* New Lidar sensor ('lidar.ray_cast_semantic') that returns the point cloud with information regarding to the object that have collided: incident angle, idx of collided actor and it semantic tag
* Added `opend3D.py`, a more friendly LiDAR visualizer
* Exposed matrix form of transformation to the client and Python API
* 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`)
* Added PythonAPI command to set multiple car light states at once
* Added PythonAPI `carla.world.get_vehicles_light_states` to get all the car light states at once
* OpenDRIVE ingestion bugfixes
* Added a warning if the user tries to use the SpringArm exactly in the 'z' axis of the attached actor
* Improved the LiDAR and Radar sensors with a parallel implentation of the raycasting
* Added a warning when using SpringArm exactly in the 'z' axis of the attached actor
* Improved performance of raycast-based sensors through parallelization
* Added an approximation of the intensity of each point of the cloud in the LiDAR sensor
* Added Dynamic Vision Sensor (DVS) camera based on ESIM simulation http://rpg.ifi.uzh.ch/esim.html
* Improved LiDAR and radar to better match the shape of the vehicles
* Added support for additional TraCI clients in Sumo co-simulation
* Added script example to syncronize the gathering of sensor data in client
* Added API functions `get_right_vector` and `get_up_vector`
* Added script example to synchronize the gathering of sensor data in client
* Added default values and a warning message for lanes missing the width parameter in OpenDRIVE
* Added parameter to enable/disable pedestrian navigation in standalone mode
* Improved mesh split in standalone mode
* Fixed delay in the tcp communication from server to client, improving performance in synchronous mode in linux systems
* Fixed large RAM usage when loading polinomial geometry from OpenDRIVE
* Fixed collision issues when debug draw(debug.draw_line) is called
* Fixed Gyroscope sensor to properly give angular velocity readings in local frame
* Improved mesh partition in standalone mode
* Added Renderdoc plugin to the Unreal project
* Added configurable noise to Lidar sensor
* Replace deprectated `platform.dist()` with recommended `distro.linux_distribution()`
* Improved the performance on capture sensors.
* 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 LiDAR’s point cloud reference frame
* Fixed light intensity and camera parameters to match
* Fixed and improved auto-exposure camera (`histogram` exposure mode)
* Fixed delay in the TCP communication from server to the client in synchronous mode for Linux
* Fixed large RAM usage when loading polynomial geometry from OpenDRIVE
* Fixed collision issues when `debug.draw_line()` is called
* Fixed gyroscope sensor to properly give angular velocity readings in the local frame
* Fixed minor typo in the introduction section of the documentation
* Fixed a bug at the local planner when changing the route, causing it to maintain the first part of the previous one. This was only relevant when using very large buffer sizes

## CARLA 0.9.9

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def synchronize_vehicle(self, vehicle_id, transform, velocity, lights=None):

vehicle.set_transform(transform)
if velocity is not None:
vehicle.set_velocity(velocity)
vehicle.set_target_velocity(velocity)

if lights is not None:
vehicle.set_light_state(carla.VehicleLightState(lights))
Expand Down
2 changes: 1 addition & 1 deletion Co-Simulation/Sumo/run_synchronization.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ def synchronization_loop(args):
metavar='P',
default=None,
type=int,
help='TCP port to liston to (default: 8813)')
help='TCP port to listen to (default: 8813)')
argparser.add_argument('--sumo-gui', action='store_true', help='run the gui version of sumo')
argparser.add_argument('--step-length',
default=0.05,
Expand Down
11 changes: 9 additions & 2 deletions Co-Simulation/Sumo/spawn_npc_sumo.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ def main(args):
sumo_net = sumolib.net.readNet(net_file)
sumo_simulation = SumoSimulation(cfg_file,
args.step_length,
host=None,
port=None,
host=args.sumo_host,
port=args.sumo_port,
sumo_gui=args.sumo_gui,
client_order=args.client_order)

Expand Down Expand Up @@ -218,6 +218,13 @@ def main(args):
default=2000,
type=int,
help='TCP port to listen to (default: 2000)')
argparser.add_argument('--sumo-host',
default=None,
help='IP of the sumo host server (default: None)')
argparser.add_argument('--sumo-port',
default=None,
type=int,
help='TCP port to listen to (default: None)')
argparser.add_argument('-n',
'--number-of-vehicles',
metavar='N',
Expand Down
4 changes: 2 additions & 2 deletions Docs/adv_ptv.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ CARLA has developed a co-simulation feature with PTV-Vissim. This allows to dist

* [__Requisites__](#requisites)
* [__Run a co-simulation__](#run-the-co-simulation)
* [Create a new network](#create-a-new-network)
* [Create a new network](#create-a-new-network)

---
## Requisites

Expand Down
16 changes: 8 additions & 8 deletions Docs/adv_recorder.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

This feature allows to record and reenact a previous simulation. All the events happened are registered in the [recorder file](ref_recorder_binary_file_format.md). There are some high-level queries to trace and study those events.

* [__Recording__](#recording)
* [__Simulation playback__](#simulation-playback)
* [Setting a time factor](#setting-a-time-factor)
* [__Recorded file__](#recorded-file)
* [__Queries__](#queries)
* [Collisions](#collisions)
* [Blocked actors](#blocked-actors)
* [__Sample Python scripts__](#sample-python-scripts)
* [__Recording__](#recording)
* [__Simulation playback__](#simulation-playback)
* [Setting a time factor](#setting-a-time-factor)
* [__Recorded file__](#recorded-file)
* [__Queries__](#queries)
* [Collisions](#collisions)
* [Blocked actors](#blocked-actors)
* [__Sample Python scripts__](#sample-python-scripts)

---
## Recording
Expand Down
35 changes: 19 additions & 16 deletions Docs/adv_rendering_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

There are few details to take into account at the time of configuring a simulation. This page covers the more important ones.

* [__Graphics quality__](#graphics-quality)
* Vulkan vs OpenGL
* Quality levels
* [__No-rendering mode__](#no-rendering-mode)
* [__Off-screen mode__](#off-screen-mode)
* Off-screen Vs no-rendering
* [__Running off-screen using a preferred GPU__](#running-off-screen-using-a-preferred-gpu)
* Docker: recommended approach
* Deprecated: emulate the virtual display
* [__Graphics quality__](#graphics-quality)
* [Vulkan vs OpenGL](#vulkan-vs-opengl)
* [Quality levels](#quality-levels)
* [__No-rendering mode__](#no-rendering-mode)
* [__Off-screen mode__](#off-screen-mode)
* [Off-screen Vs no-rendering](#off-screen-vs-no-rendering)
* [__Running off-screen using a preferred GPU__](#running-off-screen-using-a-preferred-gpu)
* [Docker - recommended approach](#docker-recommended-approach)
* [Deprecated - emulate the virtual display](#deprecated-emulate-the-virtual-display)


!!! Important
Expand Down Expand Up @@ -76,15 +76,15 @@ world.apply_settings(settings)
```
And here is an example on how to disable and then enable rendering using the `config.py`.
```sh
cd PythonAPI/util && ./config.py --no-rendering
cd PythonAPI/util && python3 config.py --no-rendering
```
```sh
cd PythonAPI/util && ./config.py --rendering
cd PythonAPI/util && python3 config.py --rendering
```

The script `PythonAPI/examples/no_rendering_mode.py` will enable no-rendering mode, and use __Pygame__ to create an aerial view using simple graphics.
```sh
cd PythonAPI/examples && ./no_rendering_mode.py
cd PythonAPI/examples && python3 no_rendering_mode.py
```

!!! Warning
Expand Down Expand Up @@ -117,16 +117,19 @@ DISPLAY= ./CarlaUE4.sh -opengl
---
## Running off-screen using a preferred GPU

### Docker: recommended approach
### Docker - recommended approach

The best way to run a headless CARLA and select the GPU is to [__run CARLA in a Docker__](build_docker.md).

This section contains an alternative tutorial, but this method is deprecated and performance is much worse. It is here only for those who Docker is not an option.


### Deprecated - emulate the virtual display

<details>
<summary><h4 style="display:inline">
Deprecated: emulate the virtual display
</h4></summary>
<summary>
Show deprecated tutorial on how to emulate the virtual display
</summary>

!!! Warning
This tutorial is deprecated. To run headless CARLA, please [__run CARLA in a Docker__](build_docker.md).
Expand Down
Loading

0 comments on commit c7b2076

Please sign in to comment.