Kompass Core
Kompass Core is a high-performance, GPU-accelerated library for motion planning, mapping, and control in robot navigation systems. The core algorithms are implemented in C++ with seamless Python bindings. It also implements third party integrations with OMPL and FCL. The Kompass philosophy is to be blazzingly fast and highly reliable, by implementing GPGPU supported parallelized algorithms which are agnostic to underlying hardware. Thus Kompass Core can be run on CPUs or GPUs from a wide variety of vendors, making it easy for robot hardware manufacturers to switch underlying compute architecture without overhauling their software stack.
This package is developed to be used with Kompass for creating navigation stacks in ROS2. For detailed usage documentation, check Kompass docs.
- Install Kompass Core 🛠️
- Check the Package Overview
- See Benchmarking Results for different platforms
- To use Kompass Core on your robot with ROS2, check the Kompass framework 🚀
Installation
Install with GPU Support (Recommended)
- To install kompass-core with GPU support, on any Ubuntu 20+ (including Jetpack) based machine, you can simply run the following:
curl -sSL https://raw.githubusercontent.com/automatika-robotics/kompass-core/refs/heads/main/build_dependencies/install_gpu.sh | bash
This script will install all relevant dependencies, including AdaptiveCPP and install the latest version of kompass-core from source. It is good practice to read the script first.
Installing with pip (CPU only)
pip install kompass-core
Wheels are available on Pypi for linux x86_64 and aarch64 architectures. Please note that the version available on Pypi does not support GPU acceleration yet.
Installation Contents
The following three packages will become available once kompass-core is installed.
kompass_cpp: Core C++ library for control, collision checking, and mapping algorithms.kompass_core: Python bindings for Kompass core C++ library with front-end classes for configuration and high-level logic.omplpy: Bespoke python bindings for the Open Motion Planning Library (OMPL).
Package Overview
The package includes modules for mapping, control, trajectory planning, and vision-based tracking algorithms, with GPU acceleration support and Python bindings via nanobind.
Control Module
- Includes a rich set of optimized C++ control strategies implementations and their python wrappers.
- Supports GPU-accelerated trajectory sampling and cost evaluation with customizable weights for sampling based controllers.
- Internally implements feature-based bounding box tracking and depth detection for enhanced vision-based tracking control.
| Algorithm | Description |
|---|---|
| DWA (Dynamic Window Approach) | Velocity-space sampling and optimization |
| Pure Pursuit | Path tracking with obstacle avoidance |
| Stanley | Path tracking with robust convergence |
| DVZ | Reactive obstacle avoidance using deformable zones |
| VisionRGBFollower | Follow visual targets using RGB images |
| VisionRGBDFollower | Follow visual targets using RGBD (depth) images |
Mapping Module
- Implements efficient local mapping and occupancy grid generation algorithms, with configuration support for various scan models and grid resolution settings.
- Supports GPU-accelerated mapping for real-time performance.
- Fuses point clouds from multiple 3D sensors into a single occupancy grid with per-sensor free-space carving.
Utilities Module
- Provides collision checking utilities and critical zone detection to ensure safe navigation, including both CPU and GPU implementations. Critical zone checking fuses point clouds from multiple 3D sensors into one safety decision (minimum factor across sensors).
- Logger utilities for runtime diagnostics.
- Linear state-space Kalman filter implementation for state estimation (C++).
- Spline interpolation utilities for path control.
Data Types and Models Modules
- Rich set of data types to represent paths, trajectories, controls, velocities, bounding boxes and various sensor data.
- Strongly-typed parameters and configuration classes to enable flexible tuning.
- Robot models and motion kinematics, supporting differential, omni-directional, and Ackermann robots. Along with geometry definitions, control limits and simulation-ready state representations.
Third Party Modules
Includes wrappers and integrations with external planning and collision libraries:
-
FCL (Flexible Collision Library)
-
OMPL (Open Motion Planning Library)
Benchmarking Results
The plots below visualize the performance differences across platforms for various components of the navigation stack. The Logarithmic Scale plot is essential for comparing CPU vs. GPU performance where differences can be orders of magnitude large. See the benchmarking details for how these plots were generated and what tasks were measured.
1. Performance (Logarithmic Scale)
Note: This chart excludes runs where power monitoring was active to ensure timing accuracy.
2. Power Consumption & Efficiency
Note: Efficiency is calculated as Operations per Joule (Throughput / Watts). Higher is better.
Copyright
The code in this distribution is Copyright (c) 2024 Automatika Robotics unless explicitly indicated otherwise.
Kompass Core is made available under the MIT license. Details can be found in the LICENSE file.
Contributions
Kompass Core has been developed in collaboration between Automatika Robotics and Inria. Contributions from the community are most welcome.
Metadata
Release files for kompass-core 0.8.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kompass_core-0.8.6.tar.gz | 3.0 MB | Details |
Built distributions (wheels)
Total release size: 68.4 MB
Release files / kompass_core-0.8.6.tar.gz
| Download URL | kompass_core-0.8.6.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cc755e2494429f1b73973f0a6976f10f8adb7d644cf48a711febb74f4c116cf5
|
|
BLAKE2b-256 checksum How to use checksums |
897a57dabfae4578c78bfcdcbfdf25f91a51b5adf2a51efdbc335c28cea9b898
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp312-abi3-manylinux_2_28_x86_64.whl
| Download URL | kompass_core-0.8.6-cp312-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 6.8 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
5106e138654d19fd038808119f91740d8f356700ef6759031aa919efb15477d0
|
|
BLAKE2b-256 checksum How to use checksums |
06a92005df88892d8e52348452d10fea05637fad8302feb63a9e5ed4ca665d81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp312-abi3-manylinux_2_28_aarch64.whl
| Download URL | kompass_core-0.8.6-cp312-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 6.3 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
f69208849ca8fc0e374de3fa18e8f0ea516876b116ae3f31a983074920be73d6
|
|
BLAKE2b-256 checksum How to use checksums |
18cb459b0dbd56a903a3e22e67d9374a8315f5e1f3a06d29340843a88817cba5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | kompass_core-0.8.6-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 6.8 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6333e24cbc1446bda286f90c887359a510a4a9000b987284115fa18200d1b107
|
|
BLAKE2b-256 checksum How to use checksums |
590246981a8d3767f67b1dece7433ccb629b8c4d3ee1803f508fc750bd904f13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | kompass_core-0.8.6-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 6.3 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
90967c81ef9d7cafe0abbb6bf1454d788fd9a15db6bbf83e0e0a1ca62d43e7f3
|
|
BLAKE2b-256 checksum How to use checksums |
c90ae2dcd533a7e586dc0f212e862e6bd4f4a5a7ef106e39aa7289185f075e47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | kompass_core-0.8.6-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 6.8 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2f3b3508e29757b5aa2a011d995a0cc4dc5a282349f832ba2fb3f33189a4088f
|
|
BLAKE2b-256 checksum How to use checksums |
f98050cdd41db8b66beb023b8d44dae2d5e4c7cee8da2e2b186bf2d4b47e14fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp310-cp310-manylinux_2_28_aarch64.whl
| Download URL | kompass_core-0.8.6-cp310-cp310-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 6.3 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
1b81dec115cfdea4e13d2e296397f6dab76ecc64039abadf4a01befe4fa9103a
|
|
BLAKE2b-256 checksum How to use checksums |
ea11df0e5849e7c93d9f27d4dd6e6568dfbdd5f5502cb3a8098b24d7fa69dfa5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp39-cp39-manylinux_2_28_x86_64.whl
| Download URL | kompass_core-0.8.6-cp39-cp39-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 6.8 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
722d83f80fb99781aaaa56b0cef62dc2e291281c1c0ec8b5f099beea6ab3e9d7
|
|
BLAKE2b-256 checksum How to use checksums |
efa603b64637982fa4c057d4fffc08a640129cd006a2e160d5c2be20b338e6c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp39-cp39-manylinux_2_28_aarch64.whl
| Download URL | kompass_core-0.8.6-cp39-cp39-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 6.3 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
030d5b93a472fc3d9f9e061de9be75a2bc8d2c89d3504a81bd6fc457e68a1e67
|
|
BLAKE2b-256 checksum How to use checksums |
cbaa9a56ac9903472e1abb227c43984014a91a2ed6b034f34f516b17c18632df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp38-cp38-manylinux_2_28_x86_64.whl
| Download URL | kompass_core-0.8.6-cp38-cp38-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 6.8 MB |
| Tags | CPython 3.8 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f008a1ae5c4c8c95298b2c81e284179be0b0d87cd4c9657f7fde405454569160
|
|
BLAKE2b-256 checksum How to use checksums |
87ae683d3e9a53e12c35cabc1fea5e342acb984a76fb47470028b2ed562ac97e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / kompass_core-0.8.6-cp38-cp38-manylinux_2_28_aarch64.whl
| Download URL | kompass_core-0.8.6-cp38-cp38-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 6.3 MB |
| Tags | CPython 3.8 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
2a30cb835b25ae0b6f2aafabbafa954a1d38af615cc9a7097d7fb0521448260b
|
|
BLAKE2b-256 checksum How to use checksums |
d80ae1f478423624cb26976c98daf385b3b69cc6d374d10d1ca448bbd8fc9d65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency log