# Installation ## Prerequisites :::{admonition} *ROS2* Required :class: note Kompass supports all *ROS2* distributions from **Foxy** up to **Rolling**. Please ensure you have a working [ROS2 installation](https://docs.ros.org/) before proceeding. ::: Install Core Engine [`kompass-core`](https://github.com/automatika-robotics/kompass-core) is the package providing the highly optimized implementations of planning and control algorithms for Kompass. Choose the installation method that matches your hardware needs. ::::{tab-set} :::{tab-item} {material-regular}`speed;1.2em;sd-text-primary` GPU Support (Recommended) :sync: gpu
**Best for production robots and high-performance simulation.** This installs [AdaptiveCPP](https://github.com/AdaptiveCpp/AdaptiveCpp) and compiles the core engine from source to fully utilize your specific GPU (Nvidia, AMD, Intel, etc.). Run the following on any Ubuntu-based machine (including Jetson): ```bash curl -sSL https://raw.githubusercontent.com/automatika-robotics/kompass-core/refs/heads/main/build_dependencies/install_gpu.sh | bash ``` *It is good practice to [read the script](https://github.com/automatika-robotics/kompass-core/blob/main/build_dependencies/install_gpu.sh) before running it.* ::: :::{tab-item} {material-regular}`terminal;1.2em;sd-text-primary` Standard (CPU) :sync: cpu
**Best for quick testing or lightweight environments.** Installs the standard Python package along with the CPP package bindings via `pip`. ```bash pip install kompass-core ``` ::: :::: ## Install Kompass Once the core engine is ready, install Kompass ROS2 packages (`kompass` and `kompass_interfaces`). ::::{tab-set} :::{tab-item} {material-regular}`inventory_2;1.2em;sd-text-primary` Binary :sync: binary
**Option A: Install via APT (Recommended)** ```bash sudo apt install ros-$ROS_DISTRO-kompass ``` **Option B: Manual `.deb` Install** Download the specific version for your architecture from [GitHub Releases](https://github.com/automatika-robotics/kompass/releases). ```bash # Replace variables with your version/distro/arch sudo dpkg -i ros-$ROS_DISTRO-kompass-interfaces_$version$DISTRO_$ARCHITECTURE.deb sudo dpkg -i ros-$ROS_DISTRO-kompass_$version$DISTRO_$ARCHITECTURE.deb ``` ::: :::{tab-item} {material-regular}`build;1.2em;sd-text-primary` Source (Advanced) :sync: source
**Best for contributors or debugging.** ```shell # 1. Create workspace mkdir -p kompass_ws/src cd kompass_ws/src # 2. Clone repositories git clone [https://github.com/automatika-robotics/sugarcoat](https://github.com/automatika-robotics/sugarcoat) git clone [https://github.com/automatika-robotics/kompass](https://github.com/automatika-robotics/kompass) # 3. Install dependencies rosdep update rosdep install -y --from-paths . --ignore-src # 4. Build cd .. colcon build source install/setup.bash ``` ::: :::: ## Next Steps Now that you have Kompass installed, verify your setup or jump straight into the tutorials. ::::{grid} 1 2 2 2 :gutter: 2 :::{grid-item-card} {material-regular}`rocket_launch;1.2em;sd-text-primary` Quick Start :link: tutorials/quick_start :link-type: doc :class-card: sugar-card Run your first navigation task in simulation ::: :::{grid-item-card} {material-regular}`menu_book;1.2em;sd-text-primary` Tutorials :link: tutorials/index :link-type: doc :class-card: sugar-card Learn how to create custom navigation capabilities with Kompass ::: ::::