

Kompass#
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.
Find out more about our motivation to create Kompass ✨
Install Kompass on your robot 🛠️
To get started with Kompass, check the quick start tutorial 🚀
Do a deep dive with one of the tutorials 🤖
Learn more about the design concepts of Kompass 📚
Kompass is divided into several interacting components each responsible for one of the navigation subtasks:

Kompass Components and Main Tasks#

Kompass Components and Main 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#

System Diagram for Point Navigation#
To learn more about the functionalities and configuration of each component check the component dedicated documentation page:
Overview
Tutorials
Navigation Components
References