Robots Atlas>ROBOTS ATLAS
SLAM / Navigation Services

Motion planning · Control & Planning

SLAM / Navigation Services

Nav2 Humble·Open Source Robotics Foundation

Active Open source API available
CATEGORYMotion planning · Control & Planning
READINESSTRL 9
ADOPTION SCALEIndustry Standard
LICENSESApache-2.0
FIRST RELEASE2020
UnitreeSLAMNavigationMappingLocalizationRobot NavigationNavigation ServicesRobot Software

SLAM / Navigation Services is an umbrella category covering open-source localization and navigation services used in ROS 2 and related stacks. It groups components such as slam_toolbox (2D laser SLAM, by Steve Macenski), Cartographer (2D/3D laser SLAM by Google), RTAB-Map (visual+LiDAR SLAM by IntRoLab), ORB-SLAM3 (visual SLAM by UZ-CIESS), and the complete Nav2 navigation stack.

A typical pipeline looks as follows: SLAM publishes an occupancy map or octomap → AMCL/EKF localizes → global planner (Nav2 Planner Server) computes a path → local planner (DWB, MPPI) generates control → the controller publishes cmd_vel to the mobile base. Everything is wired through ROS 2 topics and actions, with behavior trees managing high-level logic.

This entry serves as a reference node: when a robot or framework declares support for 'SLAM / Navigation', this document links the concrete implementations. It is commonly used in the `dependsOnSoftware` section of humanoid and AMR profiles.

Type & Roles
Software types
Control Stack

A Control Stack is the set of software components responsible for control logic, motion planning, command execution, and coordination of a robot's actuators. It receives high-level goals or waypoints (from planning or AI layers) and translates them into low-level actuator commands, closed-loop feedback control, and safety checks. Common implementations include MoveIt (arm manipulation), Nav2 (mobile navigation), and custom whole-body control stacks for humanoids.

Perception Stack

A Perception Stack encompasses the software layers that process data from cameras, LiDARs, IMUs, microphones, and other sensors in order to recognise the surrounding environment, perform localisation, detect and track objects, and interpret the scene. It is typically the first processing stage in an autonomous robot's data pipeline, feeding its outputs to planning and control stacks.

Select an item to see its description.
Main category
Control & PlanningPerception & Vision Software
Roles in robotics ecosystem
SLAM & LocalizationMotion PlanningPerception
Software family
Family
ROS 2 Ecosystem
Maturity & Adoption
9 / 9
Proven in operational conditions
ResearchPrototypeProduction
Adoption scaleIndustry Standard
Maintenance statusCommunity Maintained
First release2020
Last update10 April 2025
Deployments

All ROS 2 AMRs (iRobot Create 3, Husky, Jackal), cobot mobile platforms (TIAGo, Pepper), humanoids with mobile bases (PAL ARI), industrial AGVs.

Community

slam_toolbox: 1.7k★, Cartographer: 7.3k★, RTAB-Map: 2.6k★, Nav2: 2.9k★ — over 14k GitHub stars combined.

ROS supportCompatibility with ROS / ROS 2 ecosystem
Official ROS 2 PackagePakiet dostępny w oficjalnym rejestrze ROS 2 przez rosdep / apt (packages.ros.org)
ROS 2 Nav2 PluginPlugin do frameworka Nav2 (Navigation2) dla ROS 2
System capabilities
Open source
Source code is publicly available under an open-source license — enables security audits, custom modifications, and integration without licensing barriers.
Real-time capable
Designed with timing-determinism guarantees — meets the requirements of control loops, safety systems, and tasks demanding low, predictable latency.
×
⟨/⟩
API available
The software exposes a programmable interface (REST, gRPC, SDK, or language bindings) that enables automation and integration with other systems.
📦
Pre-built / binary
Distributed as ready-to-use binary packages, container images, or installers — no need to build from source.
Programming languages
C++Python
Operating systems
Ubuntu 22.04Ubuntu 20.04JetPack Linux
Minimum hardware requirements
Minimum hardware requirements
CPUQuad-core ARM64 or x86-64 (Jetson Orin Nano or equivalent)
RAM (GB)4
GPUOptional; CUDA accelerates visual SLAM (ORB-SLAM3, RTAB-Map)
Disk (GB)5

2D occupancy maps take 1-10 MB; 3D octomap 50-500 MB.

Packaging & distribution
Package managers
apt / debDocker / Docker Hubcolcon (ROS 2 build tool)rosdep / bloomROS 2 Binary Release (packages.ros.org)
CPU architectures
x86_64 (AMD64)ARM64 / AArch64NVIDIA Jetson – AArch64 (JetPack)
Installation difficulty
LevelModerate
Protocols and interfaces
Communication protocols
ROS 2 TopicsROS 2 ActionsROS 2 ServicesDDS (Data Distribution Service)
Hardware interfaces
Ethernet 1000BASE-T (Gigabit Ethernet)USB 3.0 / 3.1 Gen 1MIPI CSI-2
Latency classes
Soft Real-Time (20–100 ms)Soft Real-Time (100–500 ms)
Deployment types
On RobotEdgeContainerized
Supported simulators
Gazebo Harmonic
Gazebo Fortress
NVIDIA Isaac Sim
Webots
Official Docker images
ghcr.io/ros-navigation/navigation2nvcr.io/nvidia/isaac/ros:humble-isaac-ros-visual-slamros:humble-perception
Licenses
Apache-2.0Apache License 2.0v2.0

License family: Permissive

ModificationDistributionCommercial useSublicensingPrivate useROS-compatibleOSI approvedFSF Free/LibreRequires attributionPatent grant
BSD-3-ClauseBSD 3-Clause Licensev3-Clause

License family: Permissive

ModificationDistributionCommercial useSublicensingPrivate useROS-compatibleOSI approvedFSF Free/LibreRequires attribution
Version history
Nav2 HumbleMay 2022

Full LTS integration, MPPI controller, behavior trees v4.

ORB-SLAM3 1.0Aug 2021

Multi-map atlas, visual-inertial SLAM (UZ-CIESS).

slam_toolbox 1.0Jun 2018

First 2D SLAM release by Steve Macenski (ROS 1).

Cartographer 1.0Oct 2017

Open-source 2D/3D LiDAR SLAM by Google.