Skip to main content

Your favorite map handling framework for automated driving, now standalone and with cross-platform support.

Project description

Lanelet2x

Lanelet2x is a fork of lanelet2 library with all dependencies on ROS1, ROS2 or Catkin removed to create a standalone and cross-platform library.

CI CD PyPI - Version PyPI - Downloads PyPI - Python Version

Overview

Lanelet2 is a C++ library for handling map data in the context of automated driving. It is designed to utilize high-definition map data in order to efficiently handle the challenges posed to a vehicle in complex traffic scenarios. Flexibility and extensibility are some of the core principles to handle the upcoming challenges of future maps.

Features:

  • 2D and 3D support
  • Consistent modification: if one point is modified, all owning objects see the change
  • Supports lane changes, routing through areas, etc.
  • Separated routing for pedestrians, vehicles, bikes, etc.
  • Many customization points to add new traffic rules, routing costs, parsers, etc.
  • Simple convenience functions for common tasks when handling maps
  • Accurate Projection between the lat/lon geographic world and local metric coordinates
  • IO Interface for reading and writing e.g. osm data formats (this does not mean it can deal with osm maps)
  • Python bindings for the whole C++ interface
  • Boost Geometry support for all thinkable kinds of geometry calculations on map primitives
  • Released under the BSD 3-Clause license
  • Support Windows, Linux and MacOS

Lanelet2 is the successor of the old liblanelet that was developed in 2013. If you know Lanelet1, you might be interested in reading this.

Documentation

You can find more documentation in the individual packages and in doxygen comments. Here is an overview on the most important topics:

  • Here is more information on the basic primitives that make up a Lanelet2 map.
  • Read here for a primer on the software architecture of lanelet2.
  • There is also some documentation on the geometry calculations you can do with lanelet2 primitives.
  • If you are interested in Lanelet2's projections, you will find more here.
  • To get more information on how to create valid maps, see here.

Installation

PyPI

Lanelet2x can be installed from PyPI.

pip install lanelet2x

Using Docker

  • TODO: We are currently working on the Docker container

Manual installation

At least C++14 is required.

Dependencies

  • Boost (from 1.58)
  • eigen3
  • pugixml (for lanelet2_io)
  • boost-python, python2 or python3 (for lanelet2_python)
  • geographiclib (for lanelet2_projection)

Building

We use Conan 2.0 to manage all C++ dependencies, first clone the project:

git clone https://github.com/wu-vincent/lanelet2x.git
cd lanelet2x

Install conan from PyPI and create a profile:

pip install -r requirements.txt
conan profile detect

Now we are ready to build

conan create . --build=missing

Examples

Examples and common use cases in both C++ and Python can be found here.

Packages

  • lanelet2 is the meta-package for the whole lanelet2 framework
  • lanelet2_core implements the basic library with all the primitives, geometry calculations and the LanletMap object
  • lanelet2_io is responsible for reading and writing lanelet maps
  • lanelet2_traffic_rules provides support to interpret the traffic rules encoded in a map
  • lanelet2_projection for projecting maps from WGS84 (lat/lon) to local metric coordinates
  • lanelet2_routing implements the routing graph for routing or reachable set or queries as well as collision checking
  • lanelet2_maps provides example maps and functionality to visualize and modify them easily in JOSM
  • lanelet2_matching provides functions to determine in which lanelet an object is/could be currently located
  • lanelet2_python implements the python interface for lanelet2
  • lanelet2_validation provides checks to ensure a valid lanelet2 map
  • lanelet2_examples contains tutorials for working with Lanelet2 in C++ and Python

Citation

If you are using Lanelet2 for scientific research, we would be pleased if you would cite our publication:

@inproceedings{poggenhans2018lanelet2,
  title     = {Lanelet2: A High-Definition Map Framework for the Future of Automated Driving},
  author    = {Poggenhans, Fabian and Pauls, Jan-Hendrik and Janosovits, Johannes and Orf, Stefan and Naumann, Maximilian and Kuhnt, Florian and Mayr, Matthias},
  booktitle = {Proc.\ IEEE Intell.\ Trans.\ Syst.\ Conf.},
  year      = {2018},
  address   = {Hawaii, USA},
  owner     = {poggenhans},
  month     = {November},
  Url={http://www.mrt.kit.edu/z/publ/download/2018/Poggenhans2018Lanelet2.pdf}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lanelet2x-1.2.1.tar.gz (3.6 MB view details)

Uploaded Source

Built Distributions

lanelet2x-1.2.1-cp312-cp312-win_amd64.whl (5.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

lanelet2x-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

lanelet2x-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

lanelet2x-1.2.1-cp311-cp311-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.11 Windows x86-64

lanelet2x-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

lanelet2x-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

lanelet2x-1.2.1-cp310-cp310-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

lanelet2x-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

lanelet2x-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

lanelet2x-1.2.1-cp39-cp39-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

lanelet2x-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

lanelet2x-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file lanelet2x-1.2.1.tar.gz.

File metadata

  • Download URL: lanelet2x-1.2.1.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for lanelet2x-1.2.1.tar.gz
Algorithm Hash digest
SHA256 debe9b77c8ee0b4f5664de9dfa713dbd840bb59554c252ab3898da785bad0d23
MD5 35963233cde5406b9d65508e7ea99529
BLAKE2b-256 9ab596181179b357106d3903d809854afac9a11272fdb4679ed0377eb39c5456

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 204df7ae591d0df176ca10b7746ceca2fc07ebb847a744e89030cf3f1ff13b60
MD5 c4189800007dc521c1c1fd7c4afff0c7
BLAKE2b-256 bd4cf68dd23127725c5c7993cbc780e92cd8edea1555d1793b4dc042c67e6fe7

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 990b154650874a3765cf41919962db9915f71e174295d66d6d3e50bf3c3fc910
MD5 994c3b05f13e1735c17442872e8bd8cc
BLAKE2b-256 c4b7fc077f1a9a09bf4892633d23aeac10dc42a041313769abac59b7c372d9b3

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 08d219ecbc439efac10aa6edf6f0ddf252f599d668c04e9617ee5b450277ec85
MD5 bf46eabc3200eff6280db6f547dd86ed
BLAKE2b-256 482973866996d4542354ce35dc1d80b998417571f4fdc94fc4d2ad9d4b3f0f0a

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 254ac294e4cd5a6cbe75360b0ac978ac288ddeb118f17ada16166d27f6501574
MD5 1ce2b05535546efa3ca70d461975f8c2
BLAKE2b-256 cf2a23f94803c9e740db6d89fc9c96f5a567b8faf1fcd84effc112350f6b54df

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a83ab6228ff57b1d406cbc627b9152fe01d067a9440872f37559fcbc8f9fcc5e
MD5 2870b2d065310789f54e162d28cc6107
BLAKE2b-256 a762b1d5e0f9e0c3de56fb052c6fd3b4ad005f6248df3774da9bb45853cd3ee8

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3d26c4c8c57fd2eaae501ffd0b22de0e8c94dbaed80fd0c2e988c56668f409b1
MD5 101375f35788c179b043364ddb548791
BLAKE2b-256 462827c29771d2ca0b3622cbc5a4b1810fefbd9fc0c2eae5828bedd786d46851

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1500d5f54c66f7b04bfc2947c8b7f65e6a9397d2169d6f4f19582f4de3180b66
MD5 1d0709961139e41636acc84f0d403667
BLAKE2b-256 6e0be03ec95d6dec1ff3377fec669550e0e0e40eb0d9ad677da57b5748c6eabb

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3200b6215ea63c99574f74ef5f5ec9073bb6a8af64bc316f18cf1ae638d40a4
MD5 cf91ddaa7cc4884534d373d1c47e2f7f
BLAKE2b-256 783c0fa93391e59920a5cbdc3b312614776ae1eea0a40e230273585332d68330

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a7365739302f8dc1efa893ef41fb9ffbb5313fff654a74b24d00a7c8a77f3c7b
MD5 837a4ef55e298c217711368f7b15c912
BLAKE2b-256 8c8b93744794de1dfbcbff0930ab4c4f2b80ced0f9eac3a614050736e0362226

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: lanelet2x-1.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for lanelet2x-1.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0bfc495c1d66e2158827c2adb0301a1d46203d2510c9720d145dc9c50b58b4fa
MD5 1ce9798c0a84ad6ba1d0cc44cfc8eec8
BLAKE2b-256 9760911ac047e2af645127114a752849d9487c641af64690e7a57abd5765e976

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9cf6c63d41e8e6413b0dae9f34565b9a467fe65bc59432ed4b2a5a5316919f94
MD5 38ae54684f6f93e935ca9130c714919e
BLAKE2b-256 8e07210f8907e7516da417624db705d32d5100e342a63e39e2e627eedc052ef3

See more details on using hashes here.

File details

Details for the file lanelet2x-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lanelet2x-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3dadcd9373a0139c91a97d083a482cd52fba1ab884f97b233fe61eb95085093d
MD5 9ab703841cbb2022477850de329c6771
BLAKE2b-256 9547b43ee341a89585c92f22a58accc84b16d742dc8bf06dd71ff21a3f0052fc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page