Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Blazzingly fast, GPU powered, feature complete motion planning and control package for robot navigation.

License

NotificationsYou must be signed in to change notification settings

automatika-robotics/kompass-core

Repository files navigation

中文版本ドキュメント-日本語PyPIMIT licensedPython 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 withOMPL andFCL. 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 withKompass for creating navigation stacks inROS2. For detailed usage documentation, check Kompassdocs.

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, includingAdaptiveCPP and install the latest version of kompass-core from source. It is good practice to read thescript first.

Installing with pip (CPU only)

  • On Ubuntu versions >= 22.04, install dependencies by running the following:
sudo apt-get install libompl-dev libfcl-dev
  • Then install kompass-core as follows:
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, withGPU acceleration support and Python bindings viananobind.

Control Module

  • Includes a rich set of optimized C++ control strategies implementations and their python wrappers.
  • SupportsGPU-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.
AlgorithmDescription
StanleyPath tracking with robust convergence
DWA (Dynamic Window Approach)Velocity-space sampling and optimization
DVZReactive obstacle avoidance using deformable zones
VisionRGBFollowerFollow visual targets using RGB images
VisionRGBDFollowerFollow visual targets using RGBD (depth) images

Mapping Module

  • Implements efficient local mapping and occupancy grid generation algorithms, with configuration support for various laser models and grid resolution settings.
  • SupportsGPU-accelerated mapping for real-time performance.

Utilities Module

  • Provides collision checking utilities and critical zone detection to ensure safe navigation, including both CPU and GPU implementations.
  • 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)

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 theLICENSE file.

Contributions

Kompass Core has been developed in collaboration betweenAutomatika Robotics andInria. Contributions from the community are most welcome.

About

Blazzingly fast, GPU powered, feature complete motion planning and control package for robot navigation.

Topics

Resources

License

Stars

Watchers

Forks

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp