Go to file
Axel1092 aeac45b09c
Terramechanics and Vegetation fixes (#5820)
* Added sparse map reprsentation

* Added pytorch for terramechanics modules

* Added saving loading particles in independent thread

* Added blank space at the EOF

* Added texture creation lambda

* Moving function to component

* Added input/output architecture for neural network

* Filling heightmap with particles data. Adding Logging to debug

* Updating Texture data at realtime

* Connected 3 stages, using MPC Position to Update and Texture

* Added square particle sampling. Added second model input/output scheme. Fixed start up crash.

* Added new flags and fixes

* Position to update not updating in material but yes in MPC

* Fixed coordinate frame issues and crashes

* Prepared to follow position in the 1st vehicle in map

* Fixed height map alignment

* Fixed large map and terrain tiles alignment

* Fixed inputs for new model

* Added scale factor

* Fixed slow read write operations

* Bug fixes

* Removed debug output

* Removed nvidia profinling marks

* Preparing merge debug code removed, runtime working by rounding the loading data properly

* Made pytorch optional module

* Added TRACE_CPUPROFILER_EVENT_SCOPE to Update and UpdateTexture

* Added optional pytorch conditions and macros

* Removed static Path

* fixed not finding skeletal blueprints in shipping builds

* Fixed #ifdef clause. Added missing include.

* Deformation on vehicle working. Ready to start optimisation

* First optimsation done. Heightmap per Tile

* Updated tiles'heightmap to make their size relative to texture and tilesize

* Physics fixed.
- Removed re-aplying forces all the time.
- Removed collisions with the static meshes.

* Fixed slow frames. Added functionality

* Removed unecessary library links

* Fixed pytorch link

* Limited search to relevant tiles

* Added parameter to modify torque and forces for nested bones.

* Forgot to add file.

* Added multithreaded particle search. Fixed cuda architectures compilation

* removed old unused code

* fix windows compilation

* collisions now are applied from the closest point.
added debug bools to enable more collisions and draw collision points.

* Removed old code.

* Fixed bug with distance less than zero.

* Try to stabilize a bit

* CHanged repulsion forces so that contacts end with equilibrium

* Deformation plane added

* Added missing resources

* Updated particle movement update methods

* Spawn on runtime deformation plane

* Added cachemap lock when initializing a region

* Added UHeightMapDataAsset to hold heightmap data

* Changes to tile location computation and threaded structure

* Added lock to prevent parallel intialization of tiles

* Adding support for large texture

* Fixed infinite loop

* Removed unnecessary function, changed particle ordering

* Disable Enable plane and Change path to create folder

* Added debug options for particles, added fraction based displacement

* Tried to round to have deterministic rounds in Coords calculations

* Revert files

* Fixes to enable UCustomTerrainPhysicsComponent to interact with ALargeMapManager

* Now all foliages are spawned correctly.
- SpringBasedVegetationComponent: Added the posibility to set bones as static. This static bones will use the OnCollisionEvent instead overlap events.
- VegetationManager: Removed unnecessary variables.
- VegetationManager: Now the FTileData supports multiple level loads for the same tile.
- VegetationManager: Refactor the code.

* Remove unnecessary logs

* Resolve Conflict

* Added Local tile displacement field

* Removed Freeing CacheData

* Fixes to enable UCustomTerrainPhysicsComponent to interact with ALargeMapManager

* Added Local tile displacement field

* Update Heightmaps

* Mark for initial update generated tiles

* Added soil component field and code clean up

* Fix with the path for debug foliages.

* Added flag to atenuate particle forces

* Fix compilation in windows

* Removing 'can rest' feature

* Removed Tile being recreated losing tree references.

* Fixing sleep

* Check index is valid before accesing it preventing crash when loading  tiles from files

* Add debug position, add logging when removing and adding particles to zordered map, now only remove one element from multisets

* Initialize tile's heightmap on the fly not read it from file

* Fixed link errors

* Added debug to location when not vehicle loaded. Taking Height from ZOrdered particles instead from tile local heightmap

* Mitigation of vibration

* Remove unused code

* fixed white textures

* Fixed Z spin in some situations

* Multithread savemap and added more logging for debug purpouses

* Removing non used code. Updating texture based on tiles position instead of cars position

* Fixed terrain type flag not working

* add checks for tile removing only with valid pointers.

* Fixed map loading crash

Co-authored-by: Aaron <samaniegoaaron112@gmail.com>
Co-authored-by: LuisPoveda <lpoveda@cvc.uab.cat>
Co-authored-by: bernatx <bernatx@gmail.com>
2022-10-10 12:32:25 +02:00
.github Merge branch 'dev' 2021-08-02 18:06:44 +02:00
Co-Simulation fixed bug checking safe blueprints 2021-08-02 16:36:28 +02:00
Docs Adding new attachment type 'SpringArmGhost' 2022-09-28 13:54:04 +02:00
Examples/CppClient Revert "Removed more compiler/linker version requirements." 2022-04-26 16:17:00 +02:00
Import Fixed bugs of importing assets (#2068) 2019-09-17 14:57:22 +02:00
LibCarla Terramechanics and Vegetation fixes (#5820) 2022-10-10 12:32:25 +02:00
PythonAPI Adding new attachment type 'SpringArmGhost' 2022-09-28 13:54:04 +02:00
Unreal/CarlaUE4 Terramechanics and Vegetation fixes (#5820) 2022-10-10 12:32:25 +02:00
Util Pytorch integration with terramechanics (#5684) 2022-09-23 15:39:09 +02:00
.gitattributes Remove git lfs 2017-07-25 17:07:35 +02:00
.gitignore Raycasting (#3483) 2020-10-26 11:13:35 +01:00
.pep8 Add PythonAPI module 2018-07-04 11:13:43 +02:00
.readthedocs.yml Fix readthedocs navigation and page order 2019-05-08 16:14:25 +02:00
.travis.yml Revert "Removed more compiler/linker version requirements." 2022-04-26 16:17:00 +02:00
CHANGELOG.md changelog 2022-09-28 13:54:04 +02:00
CMakeLists.txt Change cmake version from 3.9 to 3.5 2018-11-20 14:26:48 +01:00
Doxyfile Fdomf/jenkins-wa (#1963) 2019-08-02 14:36:06 +02:00
Jenkinsfile Fix documentation git address 2021-10-27 09:16:38 +02:00
LICENSE Update license 2018-01-22 16:42:10 +01:00
Makefile Replace Linux build system 2018-07-04 19:08:42 +02:00
README.md Changed forum links to point to GitHub discussions (#4111) 2021-04-21 21:59:07 -07:00
Update.bat Fix retrieve of content 2020-03-19 17:34:07 +01:00
Update.sh Rain particles and Update.sh fixes (#2814) 2020-05-05 16:46:41 +02:00
mkdocs.yml Docs preview (#5606) 2022-07-20 18:16:27 +02:00
wheel_config.ini added steering wheel control example 2019-02-22 11:10:27 +01:00

README.md

CARLA Simulator

Build Status Documentation

carla.org download documentation forum discord

CARLA is an open-source simulator for autonomous driving research. CARLA has been developed from the ground up to support development, training, and validation of autonomous driving systems. In addition to open-source code and protocols, CARLA provides open digital assets (urban layouts, buildings, vehicles) that were created for this purpose and can be used freely. The simulation platform supports flexible specification of sensor suites and environmental conditions.

CARLA Video

If you want to benchmark your model in the same conditions as in our CoRL17 paper, check out Benchmarking.

  • Intel i7 gen 9th - 11th / Intel i9 gen 9th - 11th / AMD ryzen 7 / AMD ryzen 9
  • +16 GB RAM memory
  • NVIDIA RTX 2070 / NVIDIA RTX 2080 / NVIDIA RTX 3070, NVIDIA RTX 3080
  • Ubuntu 18.04

CARLA Ecosystem

Repositories associated to the CARLA simulation platform:

Like what you see? Star us on GitHub to support the project!

Paper

If you use CARLA, please cite our CoRL17 paper.

CARLA: An Open Urban Driving Simulator
Alexey Dosovitskiy, German Ros, Felipe Codevilla, Antonio Lopez, Vladlen Koltun; PMLR 78:1-16 [PDF] [talk]

@inproceedings{Dosovitskiy17,
  title = {{CARLA}: {An} Open Urban Driving Simulator},
  author = {Alexey Dosovitskiy and German Ros and Felipe Codevilla and Antonio Lopez and Vladlen Koltun},
  booktitle = {Proceedings of the 1st Annual Conference on Robot Learning},
  pages = {1--16},
  year = {2017}
}

Building CARLA

Use git clone or download the project from this page. Note that the master branch contains the most recent release of CARLA with the latest fixes and features.

Then follow the instruction at How to build on Linux or How to build on Windows.
The Linux build needs for an UE patch to solve some visualization issues regarding Vulkan. Those already working with a Linux build should install the patch and make the UE build again using the following commands.

# Download and install the UE patch  
cd ~/UnrealEngine_4.24
wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/UE_Patch/430667-13636743-patch.txt ~/430667-13636743-patch.txt
patch --strip=4 < ~/430667-13636743-patch.txt
# Build UE
./Setup.sh && ./GenerateProjectFiles.sh && make

Unfortunately we don't have official instructions to build on Mac yet, please check the progress at issue #150.

Contributing

Please take a look at our Contribution guidelines.

F.A.Q.

If you run into problems, check our FAQ.

CARLA Talks

The team creates some additional content for users, besides the docs. This is a great way to cover different subjects such as detailed explanations for a specific module, latest improvements in a feature, future work and much more.

CARLA Talks 2020 (May):

  • General
  • Modules
  • Features
    • Co-Simulations with SUMO and PTV-Vissim — video | slides
    • Integration of RSS-lib — slides
    • The External Sensor Interface (ESI) — video | slides
    • The OpenDRIVE Standalone Mode — video | slides

Licenses

CARLA licenses

CARLA specific code is distributed under MIT License.

CARLA specific assets are distributed under CC-BY License.

CARLA Dependency and Integration licenses

The ad-rss-lib library compiled and linked by the RSS Integration build variant introduces LGPL-2.1-only License.

Unreal Engine 4 follows its own license terms.

CARLA uses three dependencies as part of the SUMO integration:

CARLA uses one dependency as part of the Chrono integration:

CARLA uses the Autodesk FBX SDK for converting FBX to OBJ in the import process of maps. This step is optional, and the SDK is located here

This software contains Autodesk® FBX® code developed by Autodesk, Inc. Copyright 2020 Autodesk, Inc. All rights, reserved. Such code is provided "as is" and Autodesk, Inc. disclaims any and all warranties, whether express or implied, including without limitation the implied warranties of merchantability, fitness for a particular purpose or non-infringement of third party rights. In no event shall Autodesk, Inc. be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of such code."