Back to portfolio
Robotics

Autonomous Navigation Robot

ROS 2 mobile robot with mapping, localization and autonomous navigation

  • ROS 2
  • Nav2
  • SLAM Toolbox
  • Gazebo
  • Raspberry Pi
  • Arduino
GitHub Repository

Problem Statement

Indoor mobile platforms in institutions and small factories still rely on manual driving or fixed line-following, which cannot adapt to changing layouts, dynamic obstacles or rescue scenarios.

Objectives

  • Build a ROS 2 differential-drive robot capable of autonomous point-to-point navigation.
  • Generate reliable 2D maps of indoor environments.
  • Achieve stable localization and dynamic obstacle avoidance.
  • Create a modular base for future Surveillance and Rescue payloads.

Hardware Used

  • Raspberry Pi 4 (ROS 2 compute)
  • Arduino motor controller
  • 2D LiDAR
  • DC geared motors with quadrature encoders
  • Motor driver and Li-ion power distribution

Software Used

  • ROS 2
  • Nav2
  • SLAM Toolbox
  • Gazebo
  • RViz
  • Python
  • C++
  • Linux

System Architecture

  • Sensor layer: LiDAR scans and wheel encoders publish /scan and /odom.
  • State layer: robot_state_publisher and TF tree maintain frames.
  • Mapping layer: SLAM Toolbox builds and serves the occupancy grid.
  • Navigation layer: Nav2 planner, controller and behaviour trees output /cmd_vel.
  • Actuation layer: microcontroller firmware converts velocity to PWM.

Challenges

  • TF timing mismatches causing localization drift.
  • Noisy encoder odometry on uneven floors.
  • Tuning Nav2 costmaps for narrow corridors.

Solutions

  • Synchronised timestamps and corrected the TF tree hierarchy.
  • Applied odometry filtering and recalibrated wheel parameters.
  • Tuned inflation radius, footprint and controller gains iteratively in Gazebo before hardware runs.

Key Features

  • 2D occupancy mapping with SLAM Toolbox
  • AMCL localization and Nav2 path planning
  • Gazebo simulation before hardware deployment
  • Differential-drive base with encoder odometry
  • Obstacle avoidance using LiDAR scans

Future Improvements

  • Integrate a camera for Surveillance and Rescue (SAR) mode.
  • Add YOLO-based human detection for rescue alerts.
  • Multi-floor navigation and fleet coordination.

Project Gallery