Custom Navigation Stack for Two-Wheeled Robot

01 Project Overview

Complete ROS-based autonomous navigation system for two-wheeled differential drive robot. Integrates SLAM using Gmapping, localization using AMCL, path planning with move_base and DWA Planner, and custom control algorithms. Achieved 95% localization accuracy in indoor environments. Shows understanding of probabilistic robotics, sensor fusion, and autonomous systems.

02 Key Features & Achievements

Complete ROS navigation stack integrating SLAM, localization, path planning, and control

Gmapping-based SLAM with tuned parameters for differential drive kinematics

AMCL particle filter localization achieving 95% accuracy with adaptive particle management

Global planning (A*) and local planning (DWA Planner) with configurable costmaps

Complete URDF robot model (M2WR) with LIDAR, IMU, and differential drive configuration

Custom PID controller for wall-centering behavior demonstrating sensor-based control

Sensor fusion implementation with IMU-to-odometry conversion and LIDAR processing

03 Technical Stack

ROS (Robot Operating System)
Gmapping
AMCL
move_base
DWA Planner
Gazebo
RViz
Python
XML/Launch files
YAML
URDF/Xacro
Probabilistic SLAM
Monte Carlo Localization
A* path planning
PID control
Sensor fusion
Two
LIDAR sensor (360
IMU
wheel encoders

04 Challenges & Solutions

Challenge 1

Coordinate frame confusion causing robot to think it was in wrong locations due to incorrect TF transformations

Solution

Carefully verified every TF relationship using RViz visualization, ensuring LIDAR frame properly linked to base frame

Challenge 2

Extensive parameter tuning required across motion models, sensor models, planners, and costmaps with countless parameters

Solution

Changed one parameter at a time, maintained log of changes and effects, focused on high-impact parameters first

Challenge 3

Computational bottlenecks from running SLAM, AMCL, path planning, and control simultaneously on limited hardware

Solution

Adjusted update frequencies—global planning runs less frequently than local planning, reduced particle counts when needed

Challenge 4

Localization failures when robot lost track due to sensor failures or unexpected movement

Solution

Used AMCL's adaptive particle filter for recovery, implemented recovery behaviors as fallbacks, provided better initial pose estimates

05 Key Achievements

Achieved robust pose estimation using AMCL with tuned parameters

Successfully integrated SLAM, localization, and path planning into cohesive system

System operates in real-time with appropriate update frequencies for all components

Full system validated in Gazebo before hardware deployment

06 Key Takeaways

Systems Integration Complexity: Navigation isn't a single algorithm—it's a system of interconnected components

Understanding how SLAM, localization, planning, and control interact is essential

Changes to one component affect others, requiring holistic understanding

Parameter Tuning Importance: Default parameters rarely work well