Map support for Automated Driving
Table of contents
Introduction
This repository provides a set of libraries and tools to support the handling of maps for Automated Driving. This includes the following:
- C++ library for automated driving physics data types (ad_physics)
- C++ library for reading OpenDRIVE XML data (ad_map_opendrive_reader)
- C++ library for accessing automated driving maps (ad_map_access)
- MapMaker tools for basic offline conversion from OpenStreetMap data into the internal ad_map_access binary format.
- A a plugin for the free QGIS tool to visualize and inspect the ad map data
License
This software library is provided under the MIT open-source license: https://opensource.org/licenses/MIT.
In addition, the terms in the following apply: RELEASE NOTES AND DISCLAIMERS.
Documentation
Visit the project's Documentation page to access the online version of the full documentation of this library.
Releases
General release notes and changes can be found in the Changelog
Release 2.0.0
Improved route and especially connected route handling.
Release 1.1.0
Added python bindings.
Release 1.0.0
The initial release of the map C++ software libraries.
Getting started
Installation of dependencies
Currently, the focused operating system is Ubuntu 16.04. Nevertheless, the library should work in a similar way for any other Linux OS. To install the dependencies for Ubuntu 16.04 execute the following command:
user$> sudo apt-get install git build-essential cmakeIf you want to use doxygen for API documentation, please also install:
user$> sudo apt-get install doxygen graphvizGet the library
To download the library, you may run:
user$> git clone https://github.com/carla-simulator/map.git
user$> cd mapSupported systems
Development systems are Ubuntu 16.04 and Ubuntu 18.04. Following compiler combinations are tested continously:
| Ubuntu 16.04 | Ubuntu 18.04 | |
|---|---|---|
| Clang 5.0 | x | |
| Clang 6.0 | x | |
| Clang 7 | x | |
| Clang 8 | x | |
| GCC 5 | x | |
| GCC 6 | x | |
| GCC 7 | x | |
| GCC 8 | x | |
| GCC 9 | x |
Important: cmake is required to be at least version 3.5!
Building the library
See the detailed Build instructions.
Contributing
Contibutions are very welcome!
Before submitting a pull request, please ensure that your code compiles successfully and that the tests run successfully. Please also check that your code formatting complies to the provided clang style. To do so, you can run:
map$> sudo apt-get install clang-format-3.9
map$> find -iname *.cpp -o -iname *.hpp | xargs clang-format-3.9 -style=file -iThis command will automatically update the code formatting to be compliant with our style.
In addition, please perform a static code analysis, if possible.
map$> sudo apt-get install clang-tidy
map$> cmake -DBUILD_STATIC_ANALYSIS=ON
map$> make clang-tidyThis may provide a list of possible improvements that you would like to consider in your pull request.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
