Skip to main content
Ctrl+K
Kompass 0.3.0 documentation - Home
  • Automatika
  • GitHub
  • Discord

Overview

  • Why Kompass?
  • Installation
  • Quick Start
    • Quick Start (Webots Simulator)
    • Quick Start (Gazebo Simulator)
  • Kompass CLI

Tutorials

  • Tutorials Overview
  • 🎯 Point Navigation: Step-by-Step Tutorial
  • ⚙️ Using Events/Actions in your application
  • 📷 Following a moving target using RGB Image
  • 🎥 Vision Tracking Using Depth Information
  • 🔧 Configuring Components Your Way

Navigation Components

  • Navigation Components Overview
  • Robot Configuration
  • Planner
  • Controller
  • Drive Manager
  • Local Mapper
  • Motion Server
  • Global Mapping and Localization

Integrations

  • OMPL (Open Motion Planning Library)
  • FCL (Flexible Collisions Library)

Advanced

  • 🧩 Design Concepts
  • 🛠️ Advanced Configurations
    • Inputs and Outputs
    • QoS Configuration
  • 🧠 Algorithms
    • Stanley Steering
    • DVZ (Deformable Virtual Zone)
    • DWA (Dynamic Window Approach)
    • Vision Follower
    • Trajectory Cost Evaluation
  • 📨 Supported ROS2 Messages

References

  • API Reference
    • kompass
      • kompass.components
        • kompass.components.defaults
      • kompass.data_types
      • kompass.config
      • kompass.launcher
      • kompass.event
      • kompass.callbacks
      • kompass.ros
      • kompass.actions
  • Show source
  • Suggest edit
  • Open issue
  • .md

Navigation Components Overview

Contents

  • Core Components
    • Global Planner
    • Controller
    • Local Mapper
    • Drive Manager
  • Minimum Sensor Requirements
  • Optional Sensors for Enhanced Features

Navigation Components Overview#

Kompass is designed to make autonomous navigation easy to set up, flexible to customize, and powerful enough for robots working in changing real-world conditions. Think of it as a collection of building blocks: you choose the ones you need, configure them for your robot, and you’re good to go!

Kompass Components and Main Tasks

Kompass Components and Main Tasks#

Kompass Components and Main Tasks

Kompass Components and Main Tasks#

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

Kompass Full System

System Diagram for Point Navigation#

Kompass Full System

System Diagram for Point Navigation#

In the following, we give a quick tour of the core navigation components, what each one does, and what sensors you actually need to get Kompass up and running.


Core Components#

Global Planner#

The Global Planner is responsible for generating an optimal path in point navigation applications from the robot’s current position to a specified goal location. It uses a global map representation and path planning algorithms (e.g., Dijkstra, A* or sampling-based methods) to compute a collision-free route.

Key Responsibilities:

  • Computes long-range paths across the map.

  • Avoids known obstacles using global map data.

  • Interfaces with the Controller to send planned paths.

Controller#

The Controller handles local motion control for the robot. It is designed to:

  • Perform path following for point-to-point navigation.

  • Handle obstacle avoidance for unmapped obstacles and dynamic objects that appear in the environment.

  • Execute target following, allowing the robot to follow moving objects or people.

This makes the controller versatile, supporting both classic navigation tasks and reactive behaviors in dynamic environments.

Local Mapper#

The Local Mapper builds and maintains a real-time representation of the robot’s immediate surroundings. It integrates sensor data to create local occupancy maps or cost maps used by the Controller for reactive navigation.

Key Responsibilities:

  • Generates local maps for obstacle detection and avoidance.

  • Provides updated environment context to the Controller.

Drive Manager#

The Drive Manager acts as the interface between navigation commands and the robot’s actuators. It handles safe motion execution and integrates emergency stop and safety-check features.

Key Responsibilities:

  • Translates Controllers velocity commands to the robot.

  • Ensures motion safety through emergency stop checks.


Minimum Sensor Requirements#

Kompass is designed to be flexible in terms of sensor configurations. However, at least the following sensors are required for basic autonomous navigation:

  • Odometry Source (e.g., wheel encoders, IMU or visual odometry)

  • Obstacle Detection Sensor (e.g., 2D LiDAR or Depth Camera)

  • Robot Pose Source (e.g., localization system such as AMCL or visual SLAM)

These provide the minimal data necessary for localization, mapping, and safe path execution.

Optional Sensors for Enhanced Features#

Additional sensors can enhance navigation capabilities and unlock advanced features:

  • RGB Camera(s): Enables vision-based navigation, object tracking, and semantic navigation.

  • Depth Camera: Improves obstacle avoidance in 3D environments and enables more accurate object tracking.

  • 3D LiDAR: Enhances perception in complex environments with full 3D obstacle detection.

  • GPS: Enables outdoor navigation and geofenced planning.

  • Ultra-Wideband (UWB) / BLE Beacons: Improves localization in GPS-denied environments.


Kompass supports dynamic configuration, allowing it to operate with minimal sensors and scale up for complex applications when additional sensing is available.

previous

🔧 Configuring Components Your Way

next

Robot Configuration

Contents
  • Core Components
    • Global Planner
    • Controller
    • Local Mapper
    • Drive Manager
  • Minimum Sensor Requirements
  • Optional Sensors for Enhanced Features

By Automatika Robotics

© Copyright 2025, Automatika Robotics.