Clean up documentation format
This commit is contained in:
parent
0a764a806d
commit
083c0bad4f
|
@ -1,5 +1,4 @@
|
|||
CARLA Benchmark
|
||||
===============
|
||||
<h1>CARLA Benchmark</h1>
|
||||
|
||||
Running the Benchmark
|
||||
---------------------
|
||||
|
@ -9,7 +8,6 @@ tests on a certain agent. We already provide the same benchmark used in the CoRL
|
|||
2017 paper. By running this benchmark you can compare the results of your agent
|
||||
to the results obtained by the agents show in the paper.
|
||||
|
||||
|
||||
Besides the requirements of the CARLA client, the benchmark package also needs
|
||||
the future package
|
||||
|
||||
|
@ -30,37 +28,51 @@ Run the help command to see options available
|
|||
$ ./run_benchmark.py --help
|
||||
|
||||
Benchmarking your Agent
|
||||
---------------------
|
||||
-----------------------
|
||||
|
||||
The benchmark works by calling three lines of code
|
||||
|
||||
corl = CoRL2017(city_name=args.city_name, name_to_save=args.log_name)
|
||||
agent = Manual(args.city_name)
|
||||
results = corl.benchmark_agent(agent, client)
|
||||
```python
|
||||
corl = CoRL2017(city_name=args.city_name, name_to_save=args.log_name)
|
||||
agent = Manual(args.city_name)
|
||||
results = corl.benchmark_agent(agent, client)
|
||||
```
|
||||
|
||||
This is excerpt is executed in the [run_benchmark.py](https://github.com/carla-simulator/carla/blob/master/PythonClient/run_benchmark.py) example.
|
||||
This is excerpt is executed in the
|
||||
[run_benchmark.py](https://github.com/carla-simulator/carla/blob/master/PythonClient/run_benchmark.py)
|
||||
example.
|
||||
|
||||
First a *benchmark* object is defined, for this case, a CoRL2017 benchmark. This is object is used to benchmark a certain Agent. <br>
|
||||
On the second line of our sample code, there is an object of a Manual class instanced. This class inherited an Agent base class
|
||||
that is used by the *benchmark* object.
|
||||
To be benchmarked, an Agent subclass must redefine the *run_step* function as it is done in the following excerpt:
|
||||
First a *benchmark* object is defined, for this case, a CoRL2017 benchmark. This
|
||||
is object is used to benchmark a certain Agent.
|
||||
|
||||
def run_step(self, measurements, sensor_data, target):
|
||||
"""
|
||||
Function to run a control step in the CARLA vehicle.
|
||||
:param measurements: object of the Measurements type
|
||||
:param sensor_data: images list object
|
||||
:param target: target position of Transform type
|
||||
:return: an object of the control type.
|
||||
"""
|
||||
control = VehicleControl()
|
||||
control.throttle = 0.9
|
||||
return control
|
||||
The function receives measurements from the world, sensor data and a target position. With this, the function must return a control to the car, *i.e.* steering value, throttle value, brake value, etc.
|
||||
On the second line of our sample code, there is an object of a Manual class
|
||||
instanced. This class inherited an Agent base class that is used by the
|
||||
*benchmark* object. To be benchmarked, an Agent subclass must redefine the
|
||||
*run_step* function as it is done in the following excerpt:
|
||||
|
||||
The [measurements](measurements.md), [target](measurements.md), [sensor_data](cameras_and_sensors.md) and [control](measurements.md) types are described on the documentation.
|
||||
```python
|
||||
def run_step(self, measurements, sensor_data, target):
|
||||
"""
|
||||
Function to run a control step in the CARLA vehicle.
|
||||
:param measurements: object of the Measurements type
|
||||
:param sensor_data: images list object
|
||||
:param target: target position of Transform type
|
||||
:return: an object of the control type.
|
||||
"""
|
||||
control = VehicleControl()
|
||||
control.throttle = 0.9
|
||||
return control
|
||||
```
|
||||
|
||||
The function receives measurements from the world, sensor data and a target
|
||||
position. With this, the function must return a control to the car, *i.e.*
|
||||
steering value, throttle value, brake value, etc.
|
||||
|
||||
The [measurements](measurements.md), [target](measurements.md),
|
||||
[sensor_data](cameras_and_sensors.md) and [control](measurements.md) types are
|
||||
described on the documentation.
|
||||
|
||||
Creating your Benchmark
|
||||
---------------------
|
||||
Tutorial to be added
|
||||
-----------------------
|
||||
|
||||
> TODO
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
Cameras and sensors
|
||||
===================
|
||||
<h1>Cameras and sensors</h1>
|
||||
|
||||
!!! important
|
||||
Since version 0.8.0 the positions of the sensors are specified in meters
|
||||
|
@ -59,7 +58,7 @@ in the Camera. We use the following post process effects:
|
|||
|
||||
[postprolink]: https://docs.unrealengine.com/latest/INT/Engine/Rendering/PostProcessEffects/
|
||||
|
||||
###### Python
|
||||
<h6>Python</h6>
|
||||
|
||||
```py
|
||||
camera = carla.sensor.Camera('MyCamera', PostProcessing='SceneFinal')
|
||||
|
@ -71,7 +70,7 @@ camera.set_rotation(pitch=0, yaw=0, roll=0)
|
|||
carla_settings.add_sensor(camera)
|
||||
```
|
||||
|
||||
###### CarlaSettings.ini
|
||||
<h6>CarlaSettings.ini</h6>
|
||||
|
||||
```ini
|
||||
[CARLA/Sensor/MyCamera]
|
||||
|
@ -120,7 +119,7 @@ The generated "depth map" images are usually converted to a logarithmic
|
|||
grayscale for display. A point cloud can also be extracted from depth images as
|
||||
seen in "PythonClient/point_cloud_example.py".
|
||||
|
||||
###### Python
|
||||
<h6>Python</h6>
|
||||
|
||||
```py
|
||||
camera = carla.sensor.Camera('MyCamera', PostProcessing='Depth')
|
||||
|
@ -132,7 +131,7 @@ camera.set_rotation(pitch=0, yaw=0, roll=0)
|
|||
carla_settings.add_sensor(camera)
|
||||
```
|
||||
|
||||
###### CarlaSettings.ini
|
||||
<h6>CarlaSettings.ini</h6>
|
||||
|
||||
```ini
|
||||
[CARLA/Sensor/MyCamera]
|
||||
|
@ -190,7 +189,7 @@ _"Unreal/CarlaUE4/Content/Static/Pedestrians"_ folder it's tagged as pedestrian.
|
|||
and its corresponding filepath check inside `GetLabelByFolderName()`
|
||||
function in "Tagger.cpp".
|
||||
|
||||
###### Python
|
||||
<h6>Python</h6>
|
||||
|
||||
```py
|
||||
camera = carla.sensor.Camera('MyCamera', PostProcessing='SemanticSegmentation')
|
||||
|
@ -202,7 +201,7 @@ camera.set_rotation(pitch=0, yaw=0, roll=0)
|
|||
carla_settings.add_sensor(camera)
|
||||
```
|
||||
|
||||
###### CarlaSettings.ini
|
||||
<h6>CarlaSettings.ini</h6>
|
||||
|
||||
```ini
|
||||
[CARLA/Sensor/MyCamera]
|
||||
|
@ -243,7 +242,7 @@ channels | uint32 | Number of channels (lasers) of the lid
|
|||
point_count_by_channel | uint32 | Number of points per channel captured this frame.
|
||||
point_cloud | PointCloud | Captured points this frame.
|
||||
|
||||
###### Python
|
||||
<h6>Python</h6>
|
||||
|
||||
```py
|
||||
lidar = carla.sensor.Lidar('MyLidar')
|
||||
|
@ -260,7 +259,7 @@ lidar.set_rotation(pitch=0, yaw=0, roll=0)
|
|||
carla_settings.add_sensor(lidar)
|
||||
```
|
||||
|
||||
###### CarlaSettings.ini
|
||||
<h6>CarlaSettings.ini</h6>
|
||||
|
||||
```ini
|
||||
[CARLA/Sensor/MyLidar]
|
||||
|
|
|
@ -1,89 +1,105 @@
|
|||
Running CARLA without Display and Selecting GPUs
|
||||
------
|
||||
<h1>Running CARLA without Display and Selecting GPUs</h1>
|
||||
|
||||
!!! note
|
||||
See [#225](https://github.com/carla-simulator/carla/issues/225) for an
|
||||
alternative method.
|
||||
|
||||
This tutorial is designed for:
|
||||
- Remote server users that have several nvidia graphical cards and want to effectively use CARLA on all GPUs.
|
||||
- Desktop users who want to use the GPU that is not plugged on the screen for rendering CARLA.
|
||||
This tutorial is designed for
|
||||
|
||||
* Remote server users that have several nvidia graphical cards and want to
|
||||
effectively use CARLA on all GPUs.
|
||||
* Desktop users who want to use the GPU that is not plugged on the screen for
|
||||
rendering CARLA.
|
||||
|
||||
On this tutorial you will learn.
|
||||
- How to configure your server to have nvidia working on rendering without a display attached.
|
||||
- How to use VNC + VGL to simulate a display connected to any GPU you have in your machine.
|
||||
- And Finally, how to run CARLA in this environment
|
||||
On this tutorial you will learn
|
||||
|
||||
* How to configure your server to have nvidia working on rendering without a
|
||||
display attached.
|
||||
* How to use VNC + VGL to simulate a display connected to any GPU you have in
|
||||
your machine.
|
||||
* And Finally, how to run CARLA in this environment
|
||||
|
||||
This tutorial was tested in Ubuntu 16.04 and using NVIDIA 384.11 drivers.
|
||||
## Preliminaries
|
||||
|
||||
A few things need to be working in your server before.
|
||||
Latest NVIDIA Drivers, OpenGL, VirtualGL(VGL), TurboVNC 2.11, ,
|
||||
#### NVIDIA Drivers
|
||||
Download and install NVIDIA-drivers with typical tutorials
|
||||
http://www.nvidia.es/Download/index.aspx
|
||||
#### OpenGL
|
||||
Openg GL is necessary for Virtual GL. Normally OpenGL
|
||||
can be installed through apt.
|
||||
## Preliminaries
|
||||
|
||||
A few things need to be working in your server before. Latest NVIDIA Drivers,
|
||||
OpenGL, VirtualGL(VGL), TurboVNC 2.11.
|
||||
|
||||
<h4>NVIDIA Drivers</h4>
|
||||
|
||||
Download and install [NVIDIA-drivers][nvidialink] with typical tutorials.
|
||||
|
||||
[nvidialink]: http://www.nvidia.es/Download/index.aspx
|
||||
|
||||
<h4>OpenGL</h4>
|
||||
|
||||
Openg GL is necessary for Virtual GL. Normally OpenGL can be installed through
|
||||
apt.
|
||||
|
||||
sudo apt-get install freeglut3-dev mesa-utils
|
||||
#### VGL
|
||||
Follow this tutorial and install vgl: <br>
|
||||
|
||||
<h4>VGL</h4>
|
||||
|
||||
Follow this tutorial and install vgl:
|
||||
[Installing VGL](https://virtualgl.org/vgldoc/2_2_1/#hd004001)
|
||||
|
||||
#### TurboVNC
|
||||
Follow the tutorial below to install TurboVNC 2.11:<br>
|
||||
<h4>TurboVNC</h4>
|
||||
|
||||
Follow the tutorial below to install TurboVNC 2.11:
|
||||
[Installing TurboVNC](https://cdn.rawgit.com/TurboVNC/turbovnc/2.1.1/doc/index.html#hd005001)
|
||||
|
||||
WARNING: Take care on which VNC you install as it may not be compatible with Unreal. The one above was the only one that worked for me.
|
||||
#### Extra Packages
|
||||
WARNING: Take care on which VNC you install as it may not be compatible with
|
||||
Unreal. The one above was the only one that worked for me.
|
||||
|
||||
<h4>Extra Packages</h4>
|
||||
|
||||
These extra packages were necessary to make unreal to work.
|
||||
|
||||
sudo apt install x11-xserver-utils libxrandr-dev
|
||||
|
||||
<h4>Configure your X</h4>
|
||||
|
||||
|
||||
|
||||
#### Configure your X
|
||||
|
||||
You must generate a X compatible with your nvdia and compatible to run without display. For that, the following command worked:
|
||||
You must generate a X compatible with your nvdia and compatible to run without
|
||||
display. For that, the following command worked:
|
||||
|
||||
sudo nvidia-xconfig -a --use-display-device=None --virtual=1280x1024
|
||||
|
||||
|
||||
|
||||
## Emulating The Virtual Display
|
||||
|
||||
|
||||
Run your own Xorg. Here I use number 7, but it could be labeled with any free number.
|
||||
Run your own Xorg. Here I use number 7, but it could be labeled with any free
|
||||
number
|
||||
|
||||
sudo nohup Xorg :7 &
|
||||
|
||||
Run an auxiliary remote VNC-Xserver. This will create a
|
||||
virtual display "8".
|
||||
Run an auxiliary remote VNC-Xserver. This will create a virtual display "8".
|
||||
|
||||
/opt/TurboVNC/bin/vncserver :8
|
||||
|
||||
If everything is working fine the following command
|
||||
should run smoothly.
|
||||
If everything is working fine the following command should run smoothly.
|
||||
|
||||
DISPLAY=:8 vglrun -d :7.0 glxinfo
|
||||
Note. This will run glxinfo on Xserver 7, device 0. This means you are selecting the GPU 0 on your machine. To run on other GPU, such as GPU 1 run:
|
||||
|
||||
Note. This will run glxinfo on Xserver 7, device 0. This means you are selecting
|
||||
the GPU 0 on your machine. To run on other GPU, such as GPU 1 run:
|
||||
|
||||
DISPLAY=:8 vglrun -d :7.1 glxinfo
|
||||
|
||||
#### Extra
|
||||
<h4>Extra</h4>
|
||||
|
||||
If you want disable the need of sudo when creating the 'nohup Xorg'
|
||||
go to the '/etc/X11/Xwrapper.config' file and change 'allowed_users=console' to 'allowed_users=anybody'
|
||||
If you want disable the need of sudo when creating the 'nohup Xorg' go to the
|
||||
'/etc/X11/Xwrapper.config' file and change 'allowed_users=console' to
|
||||
'allowed_users=anybody'
|
||||
|
||||
It may be needed to stop all Xorg servers before running nohup Xorg.
|
||||
The command for that could change depending on your system. Generally for Ubuntu 16.04
|
||||
you should use:
|
||||
It may be needed to stop all Xorg servers before running nohup Xorg. The command
|
||||
for that could change depending on your system. Generally for Ubuntu 16.04 you
|
||||
should use:
|
||||
|
||||
sudo service lightdm stop
|
||||
|
||||
## Running CARLA
|
||||
|
||||
## Running CARLA
|
||||
Now, finally, to run CARLA on a certain gpu_number placed in a certain
|
||||
$CARLA_PATH, run.
|
||||
|
||||
Now, finally, to run CARLA on a certain gpu_number placed in a certain $CARLA_PATH, run.
|
||||
|
||||
DISPLAY=:8 vglrun -d :7.<gpu_number> $CARLA_PATH/CarlaUE4/Binaries/Linux/CarlaUE4
|
||||
DISPLAY=:8 vglrun -d :7.<gpu_number> $CARLA_PATH/CarlaUE4/Binaries/Linux/CarlaUE4
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
CARLA Server
|
||||
============
|
||||
<h1>CARLA Server</h1>
|
||||
|
||||
Build
|
||||
-----
|
||||
|
@ -28,7 +27,7 @@ Three consecutive ports are used,
|
|||
each of these ports has an associated thread that sends/reads data
|
||||
asynchronuosly.
|
||||
|
||||
###### World thread
|
||||
<h4>World thread</h4>
|
||||
|
||||
Server reads one, writes one. Always protobuf messages.
|
||||
|
||||
|
@ -38,7 +37,7 @@ Server reads one, writes one. Always protobuf messages.
|
|||
[server] EpisodeReady
|
||||
...repeat...
|
||||
|
||||
###### Measurements thread
|
||||
<h4>Measurements thread</h4>
|
||||
|
||||
Server only writes, first measurements message then the bulk of raw images.
|
||||
|
||||
|
@ -63,7 +62,7 @@ The measurements message is explained in detail [here](measurements.md).
|
|||
|
||||
[fcolorlink]: https://docs.unrealengine.com/latest/INT/API/Runtime/Core/Math/FColor/index.html "FColor API Documentation"
|
||||
|
||||
###### Control thread
|
||||
<h4>Control thread</h4>
|
||||
|
||||
Server only reads, client sends Control message every frame.
|
||||
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
CARLA Settings
|
||||
==============
|
||||
<h1>CARLA Settings</h1>
|
||||
|
||||
> _This document is a work in progress and might be incomplete._
|
||||
|
||||
CarlaSettings.ini
|
||||
-----------------
|
||||
|
||||
CARLA reads its settings from a "CarlaSettings.ini" file. This file controls
|
||||
most aspects of the simulation, and it is loaded every time a new episode is
|
||||
|
@ -16,3 +20,42 @@ hierarchy overriding earlier values.
|
|||
Take a look at the [CARLA Settings example][settingslink].
|
||||
|
||||
[settingslink]: https://github.com/carla-simulator/carla/blob/master/Docs/Example.CarlaSettings.ini
|
||||
|
||||
Weather presets
|
||||
---------------
|
||||
|
||||
The weather and lighting conditions can be chosen from a set of predefined
|
||||
settings. To select one, set the `WeatherId` key in CarlaSettings.ini. The
|
||||
following presets are available
|
||||
|
||||
* 0 - Default
|
||||
* 1 - ClearNoon
|
||||
* 2 - CloudyNoon
|
||||
* 3 - WetNoon
|
||||
* 4 - WetCloudyNoon
|
||||
* 5 - MidRainyNoon
|
||||
* 6 - HardRainNoon
|
||||
* 7 - SoftRainNoon
|
||||
* 8 - ClearSunset
|
||||
* 9 - CloudySunset
|
||||
* 10 - WetSunset
|
||||
* 11 - WetCloudySunset
|
||||
* 12 - MidRainSunset
|
||||
* 13 - HardRainSunset
|
||||
* 14 - SoftRainSunset
|
||||
|
||||
E.g., to choose the weather to be hard-rain at noon, add to CarlaSettings.ini
|
||||
|
||||
```
|
||||
[CARLA/LevelSettings]
|
||||
WeatherId=6
|
||||
```
|
||||
|
||||
Simulator command-line options
|
||||
------------------------------
|
||||
|
||||
* `-carla-server` Launches CARLA as server, the execution hangs until a client connects.
|
||||
* `-carla-settings="Path/To/CarlaSettings.ini"` Load settings from the given INI file. See Example.CarlaSettings.ini.
|
||||
* `-carla-world-port=N` Listen for client connections at port N, agent ports are set to N+1 and N+2 respectively. Activates server.
|
||||
* `-carla-no-hud` Do not display the HUD by default.
|
||||
* `-carla-no-networking` Disable networking. Overrides `-carla-server` if present.
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
Coding standard
|
||||
===============
|
||||
<h1>Coding standard</h1>
|
||||
|
||||
> _This document is a work in progress and might be incomplete._
|
||||
|
||||
|
@ -8,18 +7,30 @@ General
|
|||
|
||||
* Use spaces, not tabs.
|
||||
* Avoid adding trailing whitespace as it creates noise in the diffs.
|
||||
* Comments should not exceed 80 columns, code may exceed this limit a bit in rare occasions if it results in clearer code.
|
||||
* Comments should not exceed 80 columns, code may exceed this limit a bit in
|
||||
rare occasions if it results in clearer code.
|
||||
|
||||
Python
|
||||
------
|
||||
|
||||
* All code must be compatible with Python 2.7, 3.5, and 3.6.
|
||||
* [Pylint](https://www.pylint.org/) should not give any error or warning (few exceptions apply with external classes like `numpy`, see our `.pylintrc`).
|
||||
* Python code follows [PEP8 style guide](https://www.python.org/dev/peps/pep-0008/) (use `autopep8` whenever possible).
|
||||
* [Pylint][pylintlink] should not give any error or warning (few exceptions
|
||||
apply with external classes like `numpy`, see our `.pylintrc`).
|
||||
* Python code follows [PEP8 style guide][pep8link] (use `autopep8` whenever
|
||||
possible).
|
||||
|
||||
[pylintlink]: https://www.pylint.org/
|
||||
[pep8link]: https://www.python.org/dev/peps/pep-0008/
|
||||
|
||||
C++
|
||||
---
|
||||
|
||||
* Compilation should not give any error or warning (`clang++ -Wall -Wextra -std=C++14`).
|
||||
* Unreal C++ code (CarlaUE4 and Carla plugin) follow the [Unreal Engine's Coding Standard](https://docs.unrealengine.com/latest/INT/Programming/Development/CodingStandard/) with the exception of using spaces instead of tabs.
|
||||
* CarlaServer uses [Google's style guide](https://google.github.io/styleguide/cppguide.html).
|
||||
* Compilation should not give any error or warning
|
||||
(`clang++ -Wall -Wextra -std=C++14`).
|
||||
* Unreal C++ code (CarlaUE4 and Carla plugin) follow the
|
||||
[Unreal Engine's Coding Standard][ue4link] with the exception of using
|
||||
spaces instead of tabs.
|
||||
* CarlaServer uses [Google's style guide][googlelink].
|
||||
|
||||
[ue4link]: https://docs.unrealengine.com/latest/INT/Programming/Development/CodingStandard/
|
||||
[googlelink]: https://google.github.io/styleguide/cppguide.html
|
||||
|
|
|
@ -72,8 +72,9 @@ the Python script.
|
|||
|
||||
!!! important
|
||||
Before you start running your own experiments, it is important to know the
|
||||
details for running the simulation at [fixed time-step](fixed_time_step.md)
|
||||
for achieving maximum speed and repeatability.
|
||||
details for running the simulator at **fixed time-step** for achieving
|
||||
maximum speed and repeatability. We will cover this in the next item
|
||||
[Configuring the simulation](configuring_the_simulation.md).
|
||||
|
||||
<h4>Saving images to disk</h4>
|
||||
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
How to add the automotive materials
|
||||
===================================
|
||||
<h1>How to link Epic's Automotive Materials</h1>
|
||||
|
||||
CARLA uses Epic Game's Automotive Materials package for a realistic car paint
|
||||
look. Due to license restrictions we are not allowed to redistribute this
|
||||
package. In this document we explain how to download and link these materials to
|
||||
our vehicles.
|
||||
!!! important
|
||||
Since version 0.8.0 CARLA does not use Epic's _Automotive Materials_ by
|
||||
default. However, you can still enable them if you compile from source.
|
||||
|
||||
Epic Game's provides a set of realistic _Automotive Materials_ free to use. In
|
||||
this document we explain how to download and link these materials to our
|
||||
vehicles for a more realistic car paint.
|
||||
|
||||
Download from Marketplace
|
||||
-------------------------
|
|
@ -1,3 +1,5 @@
|
|||
<h1>CARLA F.A.Q.</h1>
|
||||
|
||||
<!-- ======================================================================= -->
|
||||
<details>
|
||||
<summary><h5 style="display:inline">
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
How to add assets
|
||||
=================
|
||||
<h1>How to add assets</h1>
|
||||
|
||||
> _This document is a work in progress and might be incomplete._
|
||||
|
||||
Adding a vehicle
|
||||
----------------
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
How to build CARLA on Linux
|
||||
===========================
|
||||
<h1>How to build CARLA on Linux</h1>
|
||||
|
||||
!!! note
|
||||
CARLA requires Ubuntu 16.04 or later.
|
||||
|
||||
Install the build tools and dependencies
|
||||
|
||||
$ sudo apt-get install build-essential clang-3.9 git cmake ninja-build python3-pip python3-requests python-dev tzdata sed curl wget unzip autoconf libtool
|
||||
$ sudo pip3 install protobuf
|
||||
$ sudo apt-get install build-essential clang-3.9 git cmake ninja-build python3-requests python-dev tzdata sed curl wget unzip autoconf libtool
|
||||
|
||||
To avoid compatibility issues between Unreal Engine and the CARLA dependencies,
|
||||
the best configuration is to compile everything with the same compiler version
|
||||
|
@ -47,16 +45,6 @@ takes a while
|
|||
|
||||
Once it's done it should print "Success" if everything went well.
|
||||
|
||||
Download Epic Games' Automotive Materials package and install it under
|
||||
"Unreal/CarlaUE4/Content/AutomotiveMaterials".
|
||||
[How to download automotive materials](how_to_add_automotive_materials.md).
|
||||
|
||||
!!! note
|
||||
Due to license restrictions, pedestrians are not include in the CARLA open
|
||||
source project (only in the compiled binaries). Some warnings may appear
|
||||
when starting the project related to this. We are working to find a
|
||||
solution.
|
||||
|
||||
To build CARLA, use the rebuild script. This script deletes all intermediate
|
||||
files, rebuilds whole CARLA, and launches the editor. Use it too for making a
|
||||
clean rebuild of CARLA
|
||||
|
@ -66,10 +54,6 @@ clean rebuild of CARLA
|
|||
It looks at the environment variable `UE4_ROOT` to find the right version of
|
||||
Unreal Engine. You can also add this variable to your "~/.bashrc" or similar.
|
||||
|
||||
Once the project is opened, it is required to manually link Epic's Automotive
|
||||
Materials to our vehicles.
|
||||
[How to link automotive materials](how_to_add_automotive_materials.md).
|
||||
|
||||
Later, if you need to compile some changes without doing a full rebuild, you can
|
||||
use the Makefile generated in the Unreal project folder
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
How to build CARLA on Windows
|
||||
=============================
|
||||
<h1>How to build CARLA on Windows</h1>
|
||||
|
||||
!!! important
|
||||
We are working on an automated build system for Windows, you can follow
|
||||
|
|
|
@ -1,174 +0,0 @@
|
|||
CARLA Simulator
|
||||
===============
|
||||
|
||||
!!! note
|
||||
CARLA requires Ubuntu 16.04 or later.
|
||||
|
||||
Welcome to CARLA simulator.
|
||||
|
||||
This file contains the instructions to run the CARLA simulator binaries on
|
||||
Linux.
|
||||
|
||||
[Get the latest release here.][releaselink]
|
||||
|
||||
For building CARLA from source, please check out the
|
||||
[CARLA Documentation][docslink].
|
||||
|
||||
CARLA can be run directly by running the "CarlaUE4.sh" script provided in the
|
||||
release package.
|
||||
|
||||
There are currently two scenarios available, the desired scenario can be chosen
|
||||
from the command-line
|
||||
|
||||
$ ./CarlaUE4.sh /Game/Maps/Town01
|
||||
|
||||
or
|
||||
|
||||
$ ./CarlaUE4.sh /Game/Maps/Town02
|
||||
|
||||
To run CARLA as server, see ["Running the server"](#running-the-server) below.
|
||||
|
||||
[releaselink]: https://github.com/carla-simulator/carla/releases/latest
|
||||
[docslink]: http://carla.readthedocs.io
|
||||
|
||||
Running the Python client
|
||||
-------------------------
|
||||
|
||||
The "carla" Python module provides a basic API for communicating with the CARLA
|
||||
server. In the "PythonClient" folder we provide a couple of examples on how to
|
||||
use this API. We recommend Python 3, but they are also compatible with Python 2.
|
||||
|
||||
Install the dependencies with
|
||||
|
||||
$ pip install -r PythonClient/requirements.txt
|
||||
|
||||
The script "PythonClient/client_example.py" provides basic functionality for
|
||||
controlling the vehicle and saving images to disk. Run the help command to see
|
||||
options available
|
||||
|
||||
$ ./client_example.py --help
|
||||
|
||||
The script "PythonClient/manual_control.py" launches a PyGame window with
|
||||
several views and allows to control the vehicle using the WASD keys.
|
||||
|
||||
$ ./manual_control.py --help
|
||||
|
||||
Running the server
|
||||
------------------
|
||||
|
||||
The server can be started by running the "CarlaUE4.sh" script with some extra
|
||||
arguments. When run in server mode (controlled by the CARLA client), it is
|
||||
highly recommended to run it at fixed time-step
|
||||
|
||||
$ ./CarlaUE4.sh /Game/Maps/Town01 -carla-server -benchmark -fps=15
|
||||
|
||||
The arguments `-benchmark -fps=15` make the engine run at a fixed time-step of
|
||||
1/15 seconds. In this mode, game-time decouples from real-time and the
|
||||
simulation runs as fast as possible.
|
||||
|
||||
To run the game on the second town, just change the command to select the
|
||||
"Town02" map
|
||||
|
||||
$ ./CarlaUE4.sh /Game/Maps/Town02 -carla-server -benchmark -fps=15
|
||||
|
||||
When run as server, it is sometimes useful to run the game in a smaller window,
|
||||
this can be chosen with
|
||||
|
||||
$ ./CarlaUE4.sh /Game/Maps/Town01 -carla-server -benchmark -fps=15 -windowed -ResX=800 -ResY=600
|
||||
|
||||
#### CARLA specific command-line options
|
||||
|
||||
* `-carla-server` Launches CARLA as server, the execution hangs until a client connects.
|
||||
* `-carla-settings="Path/To/CarlaSettings.ini"` Load settings from the given INI file. See Example.CarlaSettings.ini.
|
||||
* `-carla-world-port=N` Listen for client connections at port N, agent ports are set to N+1 and N+2 respectively. Activates server.
|
||||
* `-carla-no-hud` Do not display the HUD by default.
|
||||
* `-carla-no-networking` Disable networking. Overrides `-carla-server` if present.
|
||||
|
||||
#### Running CARLA off-screen
|
||||
|
||||
CARLA can be run in a display-less computer without any further configuration.
|
||||
However, CARLA will render to the default GPU. This can be inconvenient on
|
||||
multi-GPU setups.
|
||||
|
||||
Selecting the GPU can be achieved with VirtualGL and TurboVNC.
|
||||
|
||||
1. Install X-server.
|
||||
2. Create a xorg.conf with `nvidia-xconfig -a --use-display-device=none` (first back up existing one if necessary).
|
||||
3. Kill all running Xorg instances (`sudo service lightdm stop && sudo killall -9 Xorg`).
|
||||
4. Check that X works `sudo Xorg :0` (it might be necessary to update nvidia drivers), then kill it.
|
||||
5. Install [VirtualGL](https://sourceforge.net/projects/virtualgl/files/2.5.2/) and [TurboVNC](https://sourceforge.net/projects/turbovnc/files/2.1.1/) from deb packages (`sudo dpkg -i XXX.deb`).
|
||||
6. Start CARLA.
|
||||
|
||||
#### In-game controls
|
||||
|
||||
The following key bindings are available during game play at the server window.
|
||||
Note that vehicle controls are only available when networking is disabled.
|
||||
|
||||
W : throttle
|
||||
S : brake
|
||||
AD : steer
|
||||
Q : toggle reverse
|
||||
Space : hand-brake
|
||||
|
||||
P : toggle autopilot
|
||||
|
||||
Arrow keys : move camera
|
||||
PgUp PgDn : zoom in and out
|
||||
mouse wheel : zoom in and out
|
||||
Tab : toggle on-board camera
|
||||
|
||||
R : restart level
|
||||
G : toggle HUD
|
||||
C : change weather/lighting
|
||||
|
||||
Enter : jump
|
||||
F : use the force
|
||||
|
||||
F11 : toggle fullscreen
|
||||
Alt+F4 : quit
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
CARLA reads its settings from a "CarlaSettings.ini" file. This file controls
|
||||
most aspects of the simulator, and it is loaded every time a new episode is
|
||||
started (every time the level is loaded).
|
||||
|
||||
Settings are loaded following the next hierarchy, with values later in the
|
||||
hierarchy overriding earlier values.
|
||||
|
||||
1. `{ProjectFolder}/Config/CarlaSettings.ini`.
|
||||
2. File provided by command-line argument `-carla-settings="Path/To/CarlaSettings.ini"`.
|
||||
3. Other command-line arguments as `-carla-server` or `-world-port`.
|
||||
4. Settings file sent by the client on every new episode.
|
||||
|
||||
Take a look at the Example.CarlaSettings.ini file for further details.
|
||||
|
||||
#### Weather presets
|
||||
|
||||
The weather and lighting conditions can be chosen from a set of predefined
|
||||
settings. To select one, set the `WeatherId` key in CarlaSettings.ini. The
|
||||
following presets are available
|
||||
|
||||
* 0 - Default
|
||||
* 1 - ClearNoon
|
||||
* 2 - CloudyNoon
|
||||
* 3 - WetNoon
|
||||
* 4 - WetCloudyNoon
|
||||
* 5 - MidRainyNoon
|
||||
* 6 - HardRainNoon
|
||||
* 7 - SoftRainNoon
|
||||
* 8 - ClearSunset
|
||||
* 9 - CloudySunset
|
||||
* 10 - WetSunset
|
||||
* 11 - WetCloudySunset
|
||||
* 12 - MidRainSunset
|
||||
* 13 - HardRainSunset
|
||||
* 14 - SoftRainSunset
|
||||
|
||||
E.g., to choose the weather to be hard-rain at noon, add to CarlaSettings.ini
|
||||
|
||||
```
|
||||
[CARLA/LevelSettings]
|
||||
WeatherId=6
|
||||
```
|
|
@ -1,29 +1,35 @@
|
|||
CARLA Documentation
|
||||
===================
|
||||
<h1>CARLA Documentation</h1>
|
||||
|
||||
#### Using CARLA
|
||||
<h3>Quick start</h3>
|
||||
|
||||
* [How to run CARLA server and client](how_to_run.md)
|
||||
* [CARLA settings](carla_settings.md)
|
||||
* [Getting started](getting_started.md)
|
||||
* [Running the simulator](running_simulator_standalone.md)
|
||||
* [Connecting a Python client](connecting_the_client.md)
|
||||
* [Configuring the simulation](configuring_the_simulation.md)
|
||||
* [Measurements](measurements.md)
|
||||
* [Cameras and sensors](cameras_and_sensors.md)
|
||||
* [CARLA without Display and Selecting GPUs](carla_headless.md)
|
||||
* [Benchmark](benchmark.md)
|
||||
* [F.A.Q.](faq.md)
|
||||
|
||||
#### Building from source
|
||||
<h3>Building from source</h3>
|
||||
|
||||
* [How to build on Linux](how_to_build_on_linux.md)
|
||||
* [How to build on Windows](how_to_build_on_windows.md)
|
||||
* [How to add Automotive Materials](how_to_add_automotive_materials.md)
|
||||
|
||||
#### Contributing
|
||||
<h3>Advanced topics</h3>
|
||||
|
||||
* [CARLA settings](carla_settings.md)
|
||||
* [Simulator keyboard input](simulator_keyboard_input.md)
|
||||
* [Benchmark](benchmark.md)
|
||||
* [Running without display and selecting GPUs](carla_headless.md)
|
||||
* [How to link Epic's Automotive Materials](epic_automotive_materials.md)
|
||||
|
||||
<h3>Contributing</h3>
|
||||
|
||||
* [Contribution guidelines](CONTRIBUTING.md)
|
||||
* [Coding standard](coding_standard.md)
|
||||
* [Code of conduct](CODE_OF_CONDUCT.md)
|
||||
|
||||
#### Development
|
||||
<h3>Development</h3>
|
||||
|
||||
* [Map customization](map_customization.md)
|
||||
* [How to add assets](how_to_add_assets.md)
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
# Map customization
|
||||
<h1>Map customization</h1>
|
||||
|
||||
## Creating a new map
|
||||
> _This document is a work in progress and might be incomplete._
|
||||
|
||||
Creating a new map
|
||||
------------------
|
||||
|
||||
!!! Bug
|
||||
Creating a map from scratch with the Carla tools causes a crash with
|
||||
|
@ -8,11 +11,11 @@
|
|||
this guide will suggest duplicating an existing level instead of creating
|
||||
one from scratch.
|
||||
|
||||
### Requirements
|
||||
<h4>Requirements</h4>
|
||||
|
||||
- Checkout and build Carla from source on [Linux](how_to_build_on_linux.md) or [Windows](how_to_build_on_windows.md)
|
||||
|
||||
### Creating
|
||||
<h4>Creating</h4>
|
||||
|
||||
- Duplicate an existing map
|
||||
- Remove everything you don't need from the map
|
||||
|
@ -34,11 +37,8 @@
|
|||
Every street at a crossing should have its own turn at green without the other streets having green.
|
||||
- Then you can populate the world with landscape and buildings.
|
||||
|
||||
## Blueprint Assets
|
||||
|
||||
This are the specific blueprint assets created to help building the environment.
|
||||
|
||||
## MultipleFloorBuilding:
|
||||
MultipleFloorBuilding
|
||||
---------------------
|
||||
|
||||
The purpose of this blueprint is to make repeating and varying tall buildings a
|
||||
bit easier. Provided a Base, a MiddleFloor and a roof; this blueprint repeats
|
||||
|
@ -60,12 +60,13 @@ This blueprint is controlled by this 6 specific Parameters:
|
|||
All of This parameters can be modified once this blueprint is placed in the
|
||||
world.
|
||||
|
||||
## SplinemeshRepeater:
|
||||
SplinemeshRepeater
|
||||
------------------
|
||||
|
||||
!!! Bug
|
||||
See [#35 SplineMeshRepeater loses its collider mesh](https://github.com/carla-simulator/carla/issues/35)
|
||||
|
||||
### Standard use:
|
||||
<h4>Standard use:</h4>
|
||||
|
||||
SplineMeshRepeater "Content/Blueprints/SplineMeshRepeater" is a tool included in
|
||||
the Carla Project to help building urban environments; It repeats and aligns a
|
||||
|
@ -91,7 +92,7 @@ the lower point possible with the rest of the mesh pointing positive (Preferably
|
|||
by the X axis)
|
||||
|
||||
|
||||
### Specific Walls (Dynamic material)
|
||||
<h4>Specific Walls (Dynamic material)</h4>
|
||||
|
||||
In the project folder "Content/Static/Walls" are included some specific assets
|
||||
to be used with this SplineMeshRepeater with a series of special
|
||||
|
@ -118,7 +119,8 @@ The rest of the parameters are the mask the textures and the color corrections
|
|||
that won't be modified in this instance but in the blueprint that will be
|
||||
launched into the world.
|
||||
|
||||
## Weather
|
||||
Weather
|
||||
-------
|
||||
|
||||
This is the actor in charge of modifying all the lighting, environmental actors
|
||||
an anything that affects the impression of the climate. It runs automatically
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
Measurements
|
||||
============
|
||||
<h1>Measurements</h1>
|
||||
|
||||
!!! important
|
||||
Since version 0.8.0 the measurements received by the client are in SI
|
||||
|
@ -40,7 +39,7 @@ intersection_otherlane | float | | Percentage of the car invading
|
|||
intersection_offroad | float | | Percentage of the car off-road.
|
||||
autopilot_control | Control | | Vehicle's autopilot control that would apply this frame.
|
||||
|
||||
###### Transform
|
||||
<h4>Transform</h4>
|
||||
|
||||
The transform contains the location and rotation of the player.
|
||||
|
||||
|
@ -50,7 +49,7 @@ location | Vector3D | m | World location.
|
|||
orientation *[deprecated]* | Vector3D | | Orientation in Cartesian coordinates.
|
||||
rotation | Rotation3D | degrees | Pitch, roll, and yaw.
|
||||
|
||||
###### Collision
|
||||
<h4>Collision</h4>
|
||||
|
||||
Collision variables keep an accumulation of all the collisions occurred during
|
||||
this episode. Every collision contributes proportionally to the intensity of the
|
||||
|
@ -65,7 +64,7 @@ objects are classified based on their tag (same as for semantic segmentation).
|
|||
Collisions are not annotated if the vehicle is not moving (<1km/h) to avoid
|
||||
annotating undesired collision due to mistakes in the AI of non-player agents.
|
||||
|
||||
###### Lane/off-road intersection
|
||||
<h4>Lane/off-road intersection</h4>
|
||||
|
||||
The lane intersection measures the percentage of the vehicle invading the
|
||||
opposite lane. The off-road intersection measures the percentage of the vehicle
|
||||
|
@ -76,7 +75,7 @@ rectangle) against the map image of the city. These images are generated in the
|
|||
editor and serialized for runtime use. You can find them too in the release
|
||||
package under the folder "RoadMaps".
|
||||
|
||||
###### Autopilot control
|
||||
<h4>Autopilot control</h4>
|
||||
|
||||
The `autopilot_control` measurement contains the control values that the in-game
|
||||
autopilot system would apply as if it were controlling the vehicle.
|
||||
|
@ -135,7 +134,7 @@ belongs to one of the following classes
|
|||
(*) At this point every pedestrian is assumed to have the same bounding-box
|
||||
size.
|
||||
|
||||
###### Transform and bounding box
|
||||
<h4>Transform and bounding box</h4>
|
||||
|
||||
The transform defines the location and orientation of the agent. The bounding
|
||||
box is centered at the agent's location. The box extent gives the radii
|
||||
|
|
17
mkdocs.yml
17
mkdocs.yml
|
@ -5,18 +5,23 @@ theme: readthedocs
|
|||
|
||||
pages:
|
||||
- Home: 'index.md'
|
||||
- Using CARLA:
|
||||
- 'How to run CARLA server and client': 'how_to_run.md'
|
||||
- 'CARLA Settings': 'carla_settings.md'
|
||||
- Quick start:
|
||||
- 'Getting started': 'getting_started.md'
|
||||
- 'Running the simulator': 'running_simulator_standalone.md'
|
||||
- 'Connecting a Python client': 'connecting_the_client.md'
|
||||
- 'Configuring the simulation': 'configuring_the_simulation.md'
|
||||
- 'Measurements': 'measurements.md'
|
||||
- 'Cameras and sensors': 'cameras_and_sensors.md'
|
||||
- 'CARLA without Display and Selecting GPUs': 'carla_headless.md'
|
||||
- 'Benchmark': 'benchmark.md'
|
||||
- 'F.A.Q.': 'faq.md'
|
||||
- Building from source:
|
||||
- 'How to build on Linux': 'how_to_build_on_linux.md'
|
||||
- 'How to build on Windows': 'how_to_build_on_windows.md'
|
||||
- 'How to add Automotive Materials': 'how_to_add_automotive_materials.md'
|
||||
- Advanced topics:
|
||||
- 'CARLA Settings': 'carla_settings.md'
|
||||
- 'Simulator keyboard input': 'simulator_keyboard_input.md'
|
||||
- 'Benchmark': 'benchmark.md'
|
||||
- 'Running without display and selecting GPUs': 'carla_headless.md'
|
||||
- "How to link Epic's Automotive Materials": 'epic_automotive_materials.md'
|
||||
- Contributing:
|
||||
- 'Contribution guidelines': 'CONTRIBUTING.md'
|
||||
- 'Coding standard': 'coding_standard.md'
|
||||
|
|
Loading…
Reference in New Issue