Repo symbol

kompass repository

kompass kompass_interfaces

Repository Summary

Checkout URI https://github.com/automatika-robotics/kompass.git
VCS Type git
VCS Version main
Last Updated 2025-07-02
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
kompass 0.3.0
kompass_interfaces 0.3.0

README

Kompass Logo.


🇨🇳 简体中文 🇯🇵 日本語

Welcome to Kompass! The fastest and most intuitive navigation stack known to man! Kompass is a framework for building robust, event-driven navigation stacks for autonomous mobile robots. Kompass is built to be customizable, extendable and hardware-agnostic. It provides an intuitive Python API designed to be easy to integrate, extend, and adapt to a wide range of use cases.

Kompass includes highly optimized, GPU powered, versions of the most cutting edge navigation algorithms in C++ that make full use of available hardware resources. It supports multi-threaded execution on CPUs and can run on ANY GPU (Nvidia, AMD, etc.) without vendor lock-in. This makes it suitable for both development and deployment across diverse hardware setups. And most importantly, Kompass makes it straightforward to create and deploy sophisticated navigation capabilities for any mobile robot within a single Python script, without sacrificing performance or flexibility.

Why Kompass?

  • Adaptive Event-Driven Design: Kompass is built to be responsive to real-world events, robot state changes, and task updates. Its event-driven architecture makes it easy to define event-action pairs to reconfigure the navigation stack during runtime, or to seamlessly switch planning or control strategies based on environment context.

  • Engineered for Speed - C++, Multi-Threading, and Cross-GPU Support: All core algorithms are written in modern C++ for fast and safe execution (kompass-core). Kompass is the first navigation framework to explicitly support GPU based execution of primary navigation components. Furthermore its built with GPGPU support, unlocking high performance on any CPUs, GPUs, or even FPGAs, breaking the hardware vendor lock-in of traditional frameworks.

  • Machine learning models as first class citizens: External events in Kompass can be driven by outputs of machine learning models interpreting sensor data or user commands, which means the entire stack becomes reconfigurable based on ML model outputs. This goes beyond well established scenarios of visual navigation.

  • Pythonic API with Native Speed: While the heavy lifting is done in optimized C++, Kompass provides an intuitive Python API, letting developers prototype quickly and deploy high-performance systems without rewriting code.

  • Modular architecture and easy extensibility: Kompass is built on ROS2 using Sugarcoat🍬. It decouples core algorithms from the ROS2 interface, Kompass ensures compatibility across ROS2 versions and simplifies core upgrades and community extensions.

Find out more about our motivation to create Kompass.

Components

Kompass is divided into several interacting components each responsible for one of the navigation subtasks:

Kompass Components Tasks

Each of the previous components runs as a ROS2 lifecycle node and communicates with the other components using ROS2 topics, services or action servers:

System Diagram for Point Navigation

To learn more about the functionalities and configuration of each component check the component dedicated documentation page:

Installation

Prerequisites

Kompass is built to be used with ROS2. All ROS2 distributions starting from Foxy upto Rolling are supported. Install ROS2 version of your choice by following the instructions on the official site.

Install kompass-core

kompass-core is a python package that provides highly optimized implementations of planning and control algorithms for Kompass. You can install it in the following ways:

On any Ubuntu (including Jetpack) based machine, you can simply run the following:

curl 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

On Ubuntu versions >= 22.04, install dependencies by running the following:

sudo apt-get install libompl-dev libfcl-dev libpcl-dev

Then install kompass-core as follows:

pip install kompass-core

Install Kompass (available for humble and any distribution >= jazzy )

Install pre-built Kompass binary as follows:

sudo apt install ros-$ROS_DISTRO-kompass

File truncated at 100 lines see the full file

Repo symbol

kompass repository

kompass kompass_interfaces

Repository Summary

Checkout URI https://github.com/automatika-robotics/kompass.git
VCS Type git
VCS Version main
Last Updated 2025-07-02
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
kompass 0.3.0
kompass_interfaces 0.3.0

README

Kompass Logo.


🇨🇳 简体中文 🇯🇵 日本語

Welcome to Kompass! The fastest and most intuitive navigation stack known to man! Kompass is a framework for building robust, event-driven navigation stacks for autonomous mobile robots. Kompass is built to be customizable, extendable and hardware-agnostic. It provides an intuitive Python API designed to be easy to integrate, extend, and adapt to a wide range of use cases.

Kompass includes highly optimized, GPU powered, versions of the most cutting edge navigation algorithms in C++ that make full use of available hardware resources. It supports multi-threaded execution on CPUs and can run on ANY GPU (Nvidia, AMD, etc.) without vendor lock-in. This makes it suitable for both development and deployment across diverse hardware setups. And most importantly, Kompass makes it straightforward to create and deploy sophisticated navigation capabilities for any mobile robot within a single Python script, without sacrificing performance or flexibility.

Why Kompass?

  • Adaptive Event-Driven Design: Kompass is built to be responsive to real-world events, robot state changes, and task updates. Its event-driven architecture makes it easy to define event-action pairs to reconfigure the navigation stack during runtime, or to seamlessly switch planning or control strategies based on environment context.

  • Engineered for Speed - C++, Multi-Threading, and Cross-GPU Support: All core algorithms are written in modern C++ for fast and safe execution (kompass-core). Kompass is the first navigation framework to explicitly support GPU based execution of primary navigation components. Furthermore its built with GPGPU support, unlocking high performance on any CPUs, GPUs, or even FPGAs, breaking the hardware vendor lock-in of traditional frameworks.

  • Machine learning models as first class citizens: External events in Kompass can be driven by outputs of machine learning models interpreting sensor data or user commands, which means the entire stack becomes reconfigurable based on ML model outputs. This goes beyond well established scenarios of visual navigation.

  • Pythonic API with Native Speed: While the heavy lifting is done in optimized C++, Kompass provides an intuitive Python API, letting developers prototype quickly and deploy high-performance systems without rewriting code.

  • Modular architecture and easy extensibility: Kompass is built on ROS2 using Sugarcoat🍬. It decouples core algorithms from the ROS2 interface, Kompass ensures compatibility across ROS2 versions and simplifies core upgrades and community extensions.

Find out more about our motivation to create Kompass.

Components

Kompass is divided into several interacting components each responsible for one of the navigation subtasks:

Kompass Components Tasks

Each of the previous components runs as a ROS2 lifecycle node and communicates with the other components using ROS2 topics, services or action servers:

System Diagram for Point Navigation

To learn more about the functionalities and configuration of each component check the component dedicated documentation page:

Installation

Prerequisites

Kompass is built to be used with ROS2. All ROS2 distributions starting from Foxy upto Rolling are supported. Install ROS2 version of your choice by following the instructions on the official site.

Install kompass-core

kompass-core is a python package that provides highly optimized implementations of planning and control algorithms for Kompass. You can install it in the following ways:

On any Ubuntu (including Jetpack) based machine, you can simply run the following:

curl 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

On Ubuntu versions >= 22.04, install dependencies by running the following:

sudo apt-get install libompl-dev libfcl-dev libpcl-dev

Then install kompass-core as follows:

pip install kompass-core

Install Kompass (available for humble and any distribution >= jazzy )

Install pre-built Kompass binary as follows:

sudo apt install ros-$ROS_DISTRO-kompass

File truncated at 100 lines see the full file

Repo symbol

kompass repository

kompass kompass_interfaces

Repository Summary

Checkout URI https://github.com/automatika-robotics/kompass.git
VCS Type git
VCS Version main
Last Updated 2025-07-02
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
kompass 0.3.0
kompass_interfaces 0.3.0

README

Kompass Logo.


🇨🇳 简体中文 🇯🇵 日本語

Welcome to Kompass! The fastest and most intuitive navigation stack known to man! Kompass is a framework for building robust, event-driven navigation stacks for autonomous mobile robots. Kompass is built to be customizable, extendable and hardware-agnostic. It provides an intuitive Python API designed to be easy to integrate, extend, and adapt to a wide range of use cases.

Kompass includes highly optimized, GPU powered, versions of the most cutting edge navigation algorithms in C++ that make full use of available hardware resources. It supports multi-threaded execution on CPUs and can run on ANY GPU (Nvidia, AMD, etc.) without vendor lock-in. This makes it suitable for both development and deployment across diverse hardware setups. And most importantly, Kompass makes it straightforward to create and deploy sophisticated navigation capabilities for any mobile robot within a single Python script, without sacrificing performance or flexibility.

Why Kompass?

  • Adaptive Event-Driven Design: Kompass is built to be responsive to real-world events, robot state changes, and task updates. Its event-driven architecture makes it easy to define event-action pairs to reconfigure the navigation stack during runtime, or to seamlessly switch planning or control strategies based on environment context.

  • Engineered for Speed - C++, Multi-Threading, and Cross-GPU Support: All core algorithms are written in modern C++ for fast and safe execution (kompass-core). Kompass is the first navigation framework to explicitly support GPU based execution of primary navigation components. Furthermore its built with GPGPU support, unlocking high performance on any CPUs, GPUs, or even FPGAs, breaking the hardware vendor lock-in of traditional frameworks.

  • Machine learning models as first class citizens: External events in Kompass can be driven by outputs of machine learning models interpreting sensor data or user commands, which means the entire stack becomes reconfigurable based on ML model outputs. This goes beyond well established scenarios of visual navigation.

  • Pythonic API with Native Speed: While the heavy lifting is done in optimized C++, Kompass provides an intuitive Python API, letting developers prototype quickly and deploy high-performance systems without rewriting code.

  • Modular architecture and easy extensibility: Kompass is built on ROS2 using Sugarcoat🍬. It decouples core algorithms from the ROS2 interface, Kompass ensures compatibility across ROS2 versions and simplifies core upgrades and community extensions.

Find out more about our motivation to create Kompass.

Components

Kompass is divided into several interacting components each responsible for one of the navigation subtasks:

Kompass Components Tasks

Each of the previous components runs as a ROS2 lifecycle node and communicates with the other components using ROS2 topics, services or action servers:

System Diagram for Point Navigation

To learn more about the functionalities and configuration of each component check the component dedicated documentation page:

Installation

Prerequisites

Kompass is built to be used with ROS2. All ROS2 distributions starting from Foxy upto Rolling are supported. Install ROS2 version of your choice by following the instructions on the official site.

Install kompass-core

kompass-core is a python package that provides highly optimized implementations of planning and control algorithms for Kompass. You can install it in the following ways:

On any Ubuntu (including Jetpack) based machine, you can simply run the following:

curl 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

On Ubuntu versions >= 22.04, install dependencies by running the following:

sudo apt-get install libompl-dev libfcl-dev libpcl-dev

Then install kompass-core as follows:

pip install kompass-core

Install Kompass (available for humble and any distribution >= jazzy )

Install pre-built Kompass binary as follows:

sudo apt install ros-$ROS_DISTRO-kompass

File truncated at 100 lines see the full file

Repo symbol

kompass repository

kompass kompass_interfaces

Repository Summary

Checkout URI https://github.com/automatika-robotics/kompass.git
VCS Type git
VCS Version main
Last Updated 2025-07-02
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
kompass 0.3.0
kompass_interfaces 0.3.0

README

Kompass Logo.


🇨🇳 简体中文 🇯🇵 日本語

Welcome to Kompass! The fastest and most intuitive navigation stack known to man! Kompass is a framework for building robust, event-driven navigation stacks for autonomous mobile robots. Kompass is built to be customizable, extendable and hardware-agnostic. It provides an intuitive Python API designed to be easy to integrate, extend, and adapt to a wide range of use cases.

Kompass includes highly optimized, GPU powered, versions of the most cutting edge navigation algorithms in C++ that make full use of available hardware resources. It supports multi-threaded execution on CPUs and can run on ANY GPU (Nvidia, AMD, etc.) without vendor lock-in. This makes it suitable for both development and deployment across diverse hardware setups. And most importantly, Kompass makes it straightforward to create and deploy sophisticated navigation capabilities for any mobile robot within a single Python script, without sacrificing performance or flexibility.

Why Kompass?

  • Adaptive Event-Driven Design: Kompass is built to be responsive to real-world events, robot state changes, and task updates. Its event-driven architecture makes it easy to define event-action pairs to reconfigure the navigation stack during runtime, or to seamlessly switch planning or control strategies based on environment context.

  • Engineered for Speed - C++, Multi-Threading, and Cross-GPU Support: All core algorithms are written in modern C++ for fast and safe execution (kompass-core). Kompass is the first navigation framework to explicitly support GPU based execution of primary navigation components. Furthermore its built with GPGPU support, unlocking high performance on any CPUs, GPUs, or even FPGAs, breaking the hardware vendor lock-in of traditional frameworks.

  • Machine learning models as first class citizens: External events in Kompass can be driven by outputs of machine learning models interpreting sensor data or user commands, which means the entire stack becomes reconfigurable based on ML model outputs. This goes beyond well established scenarios of visual navigation.

  • Pythonic API with Native Speed: While the heavy lifting is done in optimized C++, Kompass provides an intuitive Python API, letting developers prototype quickly and deploy high-performance systems without rewriting code.

  • Modular architecture and easy extensibility: Kompass is built on ROS2 using Sugarcoat🍬. It decouples core algorithms from the ROS2 interface, Kompass ensures compatibility across ROS2 versions and simplifies core upgrades and community extensions.

Find out more about our motivation to create Kompass.

Components

Kompass is divided into several interacting components each responsible for one of the navigation subtasks:

Kompass Components Tasks

Each of the previous components runs as a ROS2 lifecycle node and communicates with the other components using ROS2 topics, services or action servers:

System Diagram for Point Navigation

To learn more about the functionalities and configuration of each component check the component dedicated documentation page:

Installation

Prerequisites

Kompass is built to be used with ROS2. All ROS2 distributions starting from Foxy upto Rolling are supported. Install ROS2 version of your choice by following the instructions on the official site.

Install kompass-core

kompass-core is a python package that provides highly optimized implementations of planning and control algorithms for Kompass. You can install it in the following ways:

On any Ubuntu (including Jetpack) based machine, you can simply run the following:

curl 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

On Ubuntu versions >= 22.04, install dependencies by running the following:

sudo apt-get install libompl-dev libfcl-dev libpcl-dev

Then install kompass-core as follows:

pip install kompass-core

Install Kompass (available for humble and any distribution >= jazzy )

Install pre-built Kompass binary as follows:

sudo apt install ros-$ROS_DISTRO-kompass

File truncated at 100 lines see the full file

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository

Repo symbol

kompass repository