Build & Installο
This page explains how to install and build the EasyNavigation (EasyNav) framework and how to set up your development environment.
Supported platformsο
EasyNav targets modern Linux distributions and ROS 2 releases:
Ubuntu 24.04 (Noble) β ROS 2 jazzy (primary CI target)
Ubuntu 24.04 (Noble) β ROS 2 kilted
Ubuntu 24.04 (Noble) β ROS 2 rolling
Other platforms may work but are not actively tested.
Note
If you are using a different distribution or ROS 2 release, contributions to extend the support matrix are very welcome.
Prerequisitesο
ROS 2 (jazzy, kilted or rolling)
Follow the official ROS 2 installation instructions for your platform. Ensure your ROS 2 environment is sourced before building EasyNav.
# Example (adjust to your ROS 2 distro): source /opt/ros/jazzy/setup.bash
ROS dependencies
sudo rosdep init rosdep update
Install from binaries (APT)ο
Binary packages will be provided via APT for Ubuntu + ROS 2 as they become available.
Coming soon
Prebuilt Debian packages are planned. Once published, you will be able to run:
sudo apt update
sudo apt install ros-jazzy-easynav
Build from sourceο
Workspace layoutο
We recommend a standard ROS 2 workspace:
mkdir -p ~/easynav_ws/src
cd ~/easynav_ws
Clone sourcesο
You can retrieve EasyNav sources by cloning the monorepo(s) you need:
# Adjust workspace dir and branches to your needs
cd ~/easynav_ws/src
# Clone the main EasyNavigation repositories
git clone -b jazzy https://github.com/EasyNavigation/EasyNavigation.git
git clone -b jazzy https://github.com/EasyNavigation/NavMap.git
git clone -b jazzy https://github.com/EasyNavigation/easynav_plugins.git
# Clone yaets dependency
git clone -b jazzy-devel https://github.com/fmrico/yaets.git
Install dependenciesο
From the workspace root, resolve all package dependencies with rosdep:
cd ~/easynav_ws
rosdep install --from-paths src --ignore-src -y -r
Configure and buildο
Use colcon to build the workspace. You may enable symlink-install for faster iteration.
cd ~/easynav_ws
colcon build --symlink-install
Source the overlayο
# Source ROS 2 first (jazzy / kilted / rolling)
source /opt/ros/jazzy/setup.bash
# Then source the workspace
source ~/easynav_ws/install/setup.bash
Run tests (optional)ο
cd ~/easynav_ws
colcon test --ctest-args -R easynav # run EasyNav-related tests
colcon test-result --verbose
Troubleshootingο
Missing rosdep keys
Run
rosdep check --from-paths src --ignore-srcto diagnose. If a dependency is truly missing on your platform, consider opening an issue with details.CMake not finding ROS packages
Ensure you have sourced the correct ROS 2 distro and your workspace install before building or running executables.
source /opt/ros/jazzy/setup.bash source ~/easynav_ws/install/setup.bash
ABI / compiler issues
Remove the build, install, and log folders and rebuild:
cd ~/easynav_ws rm -rf build install log colcon build --merge-install
Uninstall / cleanο
Since this is a workspace overlay, you can remove it safely:
rm -rf ~/easynav_ws
Next stepsο
Getting Started β quick start with simulation and first launch
HowTos and Practical Guides β step-by-step guides for mapping, navigation, and deployment
Developers Guide β in-depth documentation for developers and contributors