Skip to main content

Kompass Core

中文版本 ドキュメント-日本語 PyPI MIT licensed Python Version

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.

Installation

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

Logarithmic Benchmark Results

2. Power Consumption & Efficiency

Note: Efficiency is calculated as Operations per Joule (Throughput / Watts). Higher is better.

Power Efficiency Results

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)

Source distribution for kompass-core 0.8.6
File Size Uploaded
kompass_core-0.8.6.tar.gz 3.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for kompass-core 0.8.6
File
kompass_core-0.8.6-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details
kompass_core-0.8.6-cp312-abi3-manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64 Details
kompass_core-0.8.6-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
kompass_core-0.8.6-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
kompass_core-0.8.6-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
kompass_core-0.8.6-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
kompass_core-0.8.6-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
kompass_core-0.8.6-cp39-cp39-manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64 Details
kompass_core-0.8.6-cp38-cp38-manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64 Details
kompass_core-0.8.6-cp38-cp38-manylinux_2_28_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ ARM64 Details

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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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

Release history Release notifications | RSS feed

0.8.8

11 release files

0.8.7

11 release files

This release

0.8.6 This release

11 release files

0.8.5

11 release files

0.8.4

11 release files

0.8.1

11 release files

0.5.0

11 release files

0.4.2

11 release files

0.4.1

11 release files

0.4.0

11 release files

0.3.0

11 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