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].
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.
- Python Package: Install the python package via
pipin your Conda environment:pip install commonroad-clcs
- 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:
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)
| File | Size | Uploaded | |
|---|---|---|---|
| commonroad_clcs-2025.2.0.tar.gz | 3.0 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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
|