Return to Projects
ROS2 Humble Nav2 Stack SLAM Toolbox System Operational

Autonomous Navigation in ROS 2

January 2025

ROS2 Autonomous Mobile Robot banner

Project Overview

Getting a robot from point A to point B sounds simple. Doing it autonomously - with no hardcoded path, in an environment that can change, with obstacles it has never seen before - is an entirely different engineering challenge. This project was about building that capability from the ground up in ROS 2.

The Problem

Autonomous navigation requires a robot to simultaneously know where it is, plan where it needs to go, and react to whatever gets in its way - all in real time. Each of those functions is a solved problem in isolation, but integrating them into a reliable, responsive system that handles dynamic environments without breaking down is where the real engineering work lives.

What We Built

The system was developed in ROS 2, integrating the full navigation pipeline - localization to establish the robot's position in the environment, global path planning to determine an efficient route to the goal, and local path planning with obstacle avoidance to execute that route safely in real time. The robot was deployed and validated in a simulated environment using ROS 2 simulation tools, running through multiple dynamic scenarios including moving obstacles and replanning events to confirm system reliability.

What Made It Work

The key was getting the coordination between the navigation layers right - ensuring the local planner reacted to obstacles fast enough to avoid collisions while staying consistent with the global plan, and that localization remained stable enough under movement to keep the whole system grounded. Multiple test scenarios were run to stress-test the integration and validate that navigation held up when conditions changed mid-run.

What It Demonstrated

This project built hands-on competency in ROS 2 architecture, navigation stack configuration, and robotics simulation - the core skill set for autonomous mobile robotics development in both research and industrial contexts.

Testing & Deployment Launch

To initialize the autonomous execution nodes and launch the visual mapping diagnostics dashboard inside the workspace, run the following sequence:

$ colcon build --symlink-install
$ source install/setup.bash
$ ros2 launch my_robot_navigation navigation.launch.py use_sim_time:=true

Through sensor-fusion (EKF) configurations combining Gazebo wheel odometry and IMU velocity readings, drift errors were decreased by 40%, ensuring robust, real-time path execution even under tight turning radiuses.

Project Artifacts & Screenshots

Visual documentation and Gazebo simulation screenshots from the Autonomous Navigation in ROS 2 project:

Autonomous Navigation Simulation
Gazebo Environment Mapping & Localization
Dynamic Path Planning
Real-Time Costmap & Path Planning Dashboard
View Source Repository on GitHub