Skip to main content

Curvilinear (Frenet) Coordinate System for motion planning.

Project description

CommonRoad Curvilinear Coordinate System (CLCS)

Curvilinear coordinate frames (also Frenet frames) are a widely used representation in motion planning for automated vehicles. Curvilinear frames are aligned with a reference path and Cartesian points (x, y) are described by coordinates (s, d), where s is the arc length and d the lateral deviation to the reference path. The coordinate transformation is performed via a projection on the reference path for which different methods can be used [1] [2].

clcs

This project software for constructing and using curvilinear coordinate frames for reference paths given as polylines. We offer:

  • C++ backend for efficient coordinate transformations
  • Python frontend for usage with CommonRoad scenarios
  • various utility methods for processing reference path (e.g., smoothing, curvature reduction, resampling etc ...)

:wrench: Installation

We provide two installation options for CommonRoad-CLCS: Installation as a Python package (recommended) or building from source.

  1. Python Package: Install the python package via pip in your Conda environment:
    pip install commonroad-clcs
    
  2. Build from source: To build the project from source and install it in your Conda environment, please refer to the README_FOR_DEVS. This option is only recommended for advanced users who would like to use or modify the C++ backend directly.

:link: System Requirements

The software is written in Python 3.10 and C++17, and was tested on Ubuntu 20.04 and 22.04. It should be compatible with later versions. For building the code, the following minimum versions are required:

  • GCC and G++: version 10 or above
  • CMake: version 3.28 or above.
  • Pip: version 24.2 or above

We recommend using Anaconda as a package manager for Python.

:rocket: Getting Started

To get started, please see the minimal example in ./tutorials/clcs_minimal_example.py.

For more details, please refer to the Jupyter notebook tutorials provided in ./tutorials/.

:books: Documentation

A documentation including APIs is available on our website at: https://cps.pages.gitlab.lrz.de/commonroad/commonroad-clcs/.

To build the documentation locally, please install the optional docs listed in pyproject.toml first. The documentation can then be built using mkdocs via:

mkdocs build

You can browse the doc by launching ./docs/site/index.html

:busts_in_silhouette: Authors

Contributors (alphabetic order by last name): Peter Kocsis, Edmond Irani Liu, Stefanie Manzinger, Tobias Markus, Evald Nexhipi, Vitaliy Rusinov, Daniel Tar, Gerald Würsching

:speech_balloon: References

If you use our software for research, please cite:

@inproceedings{wursching2024robust,
    author={W{\"u}rsching, Gerald and Althoff, Matthias},
    title={Robust and Efficient Curvilinear Coordinate Transformation with Guaranteed Map Coverage for Motion Planning},
    booktitle={Proc. of the  IEEE Intelligent Vehicles Symposium},
    year={2024}
}

Additional references:

[1] Héry, Elwan, Stefano Masi, Philippe Xu, and Philippe Bonnifait. "Map-based curvilinear coordinates for autonomous vehicles." ITSC, 2017

[2] Bender, Philipp, Julius Ziegler, and Christoph Stiller. "Lanelets: Efficient map representation for autonomous driving." IV, 2014

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

commonroad_clcs-2025.2.0.tar.gz (3.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

commonroad_clcs-2025.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (809.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

commonroad_clcs-2025.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (809.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

commonroad_clcs-2025.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (810.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

commonroad_clcs-2025.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (811.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file commonroad_clcs-2025.2.0.tar.gz.

File metadata

  • Download URL: commonroad_clcs-2025.2.0.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.9

File hashes

Hashes for commonroad_clcs-2025.2.0.tar.gz
Algorithm Hash digest
SHA256 f62d05fea6a2558a8f7fde2e717ef4ec8326ae34485fc7a2e5cdb63876559779
MD5 cd8565e93ffc8934198dfc663930881d
BLAKE2b-256 d5282b189ca41cb50e6103f582e5cecf93ffc53f311422b36798c7a820483c9c

See more details on using hashes here.

File details

Details for the file commonroad_clcs-2025.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for commonroad_clcs-2025.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b4bdae23f3230cda55829ef9edf0b52f44f72f7c8dd2fba4cc1f948b6162a7ff
MD5 078fa579c5b31ee9b93a106c08c5c06c
BLAKE2b-256 35fe104344a6088d2159b2585b9ad6b1fcaf9fa033e6f973482fade207c5260e

See more details on using hashes here.

File details

Details for the file commonroad_clcs-2025.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for commonroad_clcs-2025.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de4b876ba4941afbcc709312581929e19674f4dc071041d247d74baf06b0eba9
MD5 2bf21904aa67a6a8e7fbf88a9c5f1d4c
BLAKE2b-256 9349baa6ff40e6cc1f6d8765b0d720735270cf5ecb2fe073c51ef12f655d719f

See more details on using hashes here.

File details

Details for the file commonroad_clcs-2025.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for commonroad_clcs-2025.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74462bbd55519950c3f22b43511740eeb94b82bab9480b8e6f4065a290d207a5
MD5 8185df4e554a5737f74d0f896016970c
BLAKE2b-256 9020be3cbcb496b1931efdd34008646be58835e54f8a164dd7c63fb79ed7177b

See more details on using hashes here.

File details

Details for the file commonroad_clcs-2025.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for commonroad_clcs-2025.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f791cf9c70fe681cc177e80420298a3999d3a6ec6588f787c1f6c4a23e2f545e
MD5 388701cbbc143e4c75f82d55552a5466
BLAKE2b-256 bb04390b272b8a250a805feae72d74bca3f156766bcc9a7c90aa878e9f513220

See more details on using hashes here.

Supported by

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