Skip to main content

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 ...)

🔧 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.

🔗 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.

🚀 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/.

📚 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

👥 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

💬 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

Metadata

Release files for commonroad-clcs 2025.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for commonroad-clcs 2025.2.0
File Size Uploaded
commonroad_clcs-2025.2.0.tar.gz 3.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for commonroad-clcs 2025.2.0
File
commonroad_clcs-2025.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
commonroad_clcs-2025.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
commonroad_clcs-2025.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
commonroad_clcs-2025.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details

Total release size: 6.3 MB

Release files / commonroad_clcs-2025.2.0.tar.gz

Download URL commonroad_clcs-2025.2.0.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
f62d05fea6a2558a8f7fde2e717ef4ec8326ae34485fc7a2e5cdb63876559779
BLAKE2b-256 checksum
How to use checksums
d5282b189ca41cb50e6103f582e5cecf93ffc53f311422b36798c7a820483c9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Release files / commonroad_clcs-2025.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commonroad_clcs-2025.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 809.5 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b4bdae23f3230cda55829ef9edf0b52f44f72f7c8dd2fba4cc1f948b6162a7ff
BLAKE2b-256 checksum
How to use checksums
35fe104344a6088d2159b2585b9ad6b1fcaf9fa033e6f973482fade207c5260e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Release files / commonroad_clcs-2025.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commonroad_clcs-2025.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 809.5 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
de4b876ba4941afbcc709312581929e19674f4dc071041d247d74baf06b0eba9
BLAKE2b-256 checksum
How to use checksums
9349baa6ff40e6cc1f6d8765b0d720735270cf5ecb2fe073c51ef12f655d719f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Release files / commonroad_clcs-2025.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commonroad_clcs-2025.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 810.8 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
74462bbd55519950c3f22b43511740eeb94b82bab9480b8e6f4065a290d207a5
BLAKE2b-256 checksum
How to use checksums
9020be3cbcb496b1931efdd34008646be58835e54f8a164dd7c63fb79ed7177b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Release files / commonroad_clcs-2025.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commonroad_clcs-2025.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 811.0 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f791cf9c70fe681cc177e80420298a3999d3a6ec6588f787c1f6c4a23e2f545e
BLAKE2b-256 checksum
How to use checksums
bb04390b272b8a250a805feae72d74bca3f156766bcc9a7c90aa878e9f513220
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.9

Release history Release notifications | RSS feed

This release

2025.2.0 This release

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page